FastLED 3.9.15
Loading...
Searching...
No Matches
fixed_point.h File Reference
+ Include dependency graph for fixed_point.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fl::fixed_point< IntBits, FracBits, S >
 
struct  fl::fixed_point_impl< 0, 32, Sign::SIGNED >
 
struct  fl::fixed_point_impl< 0, 32, Sign::UNSIGNED >
 
struct  fl::fixed_point_impl< 12, 4, Sign::SIGNED >
 
struct  fl::fixed_point_impl< 12, 4, Sign::UNSIGNED >
 
struct  fl::fixed_point_impl< 16, 16, Sign::SIGNED >
 
struct  fl::fixed_point_impl< 16, 16, Sign::UNSIGNED >
 
struct  fl::fixed_point_impl< 24, 8, Sign::SIGNED >
 
struct  fl::fixed_point_impl< 24, 8, Sign::UNSIGNED >
 
struct  fl::fixed_point_impl< 4, 12, Sign::SIGNED >
 
struct  fl::fixed_point_impl< 4, 12, Sign::UNSIGNED >
 
struct  fl::fixed_point_impl< 8, 24, Sign::SIGNED >
 
struct  fl::fixed_point_impl< 8, 24, Sign::UNSIGNED >
 
struct  fl::fixed_point_impl< 8, 8, Sign::SIGNED >
 
struct  fl::fixed_point_impl< 8, 8, Sign::UNSIGNED >
 
struct  fl::is_fixed_point< const T >
 
struct  fl::is_fixed_point< const volatile T >
 
struct  fl::is_fixed_point< fixed_point< I, F, S > >
 
struct  fl::is_fixed_point< T & >
 
struct  fl::is_fixed_point< volatile T >
 
struct  fl::is_fp_promotable< From, To >
 
struct  fl::is_fp_promotable< fixed_point< FromInt, FromFrac, FromSign >, fixed_point< ToInt, ToFrac, ToSign > >
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 

Typedefs

template<int IntBits, int FracBits>
using fl::sfixed_integer = fixed_point<IntBits, FracBits, Sign::SIGNED>
 
template<int IntBits, int FracBits>
using fl::sfixed_point = sfixed_integer<IntBits, FracBits>
 
template<int IntBits, int FracBits>
using fl::ufixed_integer = fixed_point<IntBits, FracBits, Sign::UNSIGNED>
 
template<int IntBits, int FracBits>
using fl::ufixed_point = ufixed_integer<IntBits, FracBits>
 

Enumerations

enum class  fl::Sign { fl::SIGNED , fl::UNSIGNED }
 

Functions

template<typename T>
constexpr enable_if< is_fixed_point< T >::value, T >::type fl::abs (T x) FL_NOEXCEPT
 
template<typename T>
enable_if< is_fixed_point< T >::value, T >::type fl::acos (T x) FL_NOEXCEPT
 
template<typename T>
enable_if< is_fixed_point< T >::value, T >::type fl::asin (T x) FL_NOEXCEPT
 
template<typename T>
enable_if< is_fixed_point< T >::value, T >::type fl::atan (T x) FL_NOEXCEPT
 
template<typename T>
enable_if< is_fixed_point< T >::value, T >::type fl::atan2 (T y, T x) FL_NOEXCEPT
 
template<typename T>
constexpr enable_if< is_fixed_point< T >::value, T >::type fl::ceil (T x) FL_NOEXCEPT
 
template<typename T>
constexpr enable_if< is_fixed_point< T >::value, T >::type fl::clamp (T x, T lo, T hi) FL_NOEXCEPT
 
template<typename T>
enable_if< is_fixed_point< T >::value, T >::type fl::cos (T angle) FL_NOEXCEPT
 
template<typename T>
enable_if< is_fixed_point< T >::value, T >::type fl::exp (T x) FL_NOEXCEPT
 
template<typename T>
enable_if< is_fixed_point< T >::value, T >::type fl::expfp (T x) FL_NOEXCEPT
 
template<typename T>
constexpr enable_if< is_fixed_point< T >::value, T >::type fl::floor (T x) FL_NOEXCEPT
 
template<typename T>
constexpr enable_if< is_fixed_point< T >::value, T >::type fl::fract (T x) FL_NOEXCEPT
 
template<typename T>
constexpr enable_if< is_fixed_point< T >::value, T >::type fl::lerp (T a, T b, T t) FL_NOEXCEPT
 
template<typename T>
constexpr enable_if< is_fixed_point< T >::value, T >::type fl::mod (T a, T b) FL_NOEXCEPT
 
constexpr FASTLED_FORCE_INLINE s16x16 fl::operator* (s16x16 a, s0x32 b)
 
template<typename T>
enable_if< is_fixed_point< T >::value, T >::type fl::pow (T base, T exp) FL_NOEXCEPT
 
template<typename T>
enable_if< is_fixed_point< T >::value, T >::type fl::powfp (T base, T exp) FL_NOEXCEPT
 
template<typename T>
constexpr enable_if< is_fixed_point< T >::value, T >::type fl::rsqrt (T x) FL_NOEXCEPT
 
template<typename T>
constexpr enable_if< is_fixed_point< T >::value, int >::type fl::sign (T x) FL_NOEXCEPT
 
template<typename T>
enable_if< is_fixed_point< T >::value, T >::type fl::sin (T angle) FL_NOEXCEPT
 
template<typename T>
enable_if< is_fixed_point< T >::value, void >::type fl::sincos (T angle, T &out_sin, T &out_cos) FL_NOEXCEPT
 
template<typename T>
enable_if< is_fixed_point< T >::value, T >::type fl::smoothstep (T edge0, T edge1, T x) FL_NOEXCEPT
 
template<typename T>
constexpr enable_if< is_fixed_point< T >::value, T >::type fl::sqrt (T x) FL_NOEXCEPT
 
template<typename T>
constexpr enable_if< is_fixed_point< T >::value, T >::type fl::step (T edge, T x) FL_NOEXCEPT
 

Class Documentation

◆ fl::fixed_point_impl< 0, 32, Sign::SIGNED >

struct fl::fixed_point_impl< 0, 32, Sign::SIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 0, 32, Sign::SIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 0, 32, Sign::SIGNED >:
Class Members
typedef s0x32 type s0x32

◆ fl::fixed_point_impl< 0, 32, Sign::UNSIGNED >

struct fl::fixed_point_impl< 0, 32, Sign::UNSIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 0, 32, Sign::UNSIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 0, 32, Sign::UNSIGNED >:
Class Members
typedef u0x32 type u0x32

◆ fl::fixed_point_impl< 12, 4, Sign::SIGNED >

struct fl::fixed_point_impl< 12, 4, Sign::SIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 12, 4, Sign::SIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 12, 4, Sign::SIGNED >:
Class Members
typedef s12x4 type s12x4

◆ fl::fixed_point_impl< 12, 4, Sign::UNSIGNED >

struct fl::fixed_point_impl< 12, 4, Sign::UNSIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 12, 4, Sign::UNSIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 12, 4, Sign::UNSIGNED >:
Class Members
typedef u12x4 type u12x4

◆ fl::fixed_point_impl< 16, 16, Sign::SIGNED >

struct fl::fixed_point_impl< 16, 16, Sign::SIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 16, 16, Sign::SIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 16, 16, Sign::SIGNED >:
Class Members
typedef s16x16 type s16x16

◆ fl::fixed_point_impl< 16, 16, Sign::UNSIGNED >

struct fl::fixed_point_impl< 16, 16, Sign::UNSIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 16, 16, Sign::UNSIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 16, 16, Sign::UNSIGNED >:
Class Members
typedef u16x16 type u16x16

◆ fl::fixed_point_impl< 24, 8, Sign::SIGNED >

struct fl::fixed_point_impl< 24, 8, Sign::SIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 24, 8, Sign::SIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 24, 8, Sign::SIGNED >:
Class Members
typedef s24x8 type s24x8

◆ fl::fixed_point_impl< 24, 8, Sign::UNSIGNED >

struct fl::fixed_point_impl< 24, 8, Sign::UNSIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 24, 8, Sign::UNSIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 24, 8, Sign::UNSIGNED >:
Class Members
typedef u24x8 type u24x8

◆ fl::fixed_point_impl< 4, 12, Sign::SIGNED >

struct fl::fixed_point_impl< 4, 12, Sign::SIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 4, 12, Sign::SIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 4, 12, Sign::SIGNED >:
Class Members
typedef s4x12 type s4x12

◆ fl::fixed_point_impl< 4, 12, Sign::UNSIGNED >

struct fl::fixed_point_impl< 4, 12, Sign::UNSIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 4, 12, Sign::UNSIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 4, 12, Sign::UNSIGNED >:
Class Members
typedef u4x12 type u4x12

◆ fl::fixed_point_impl< 8, 24, Sign::SIGNED >

struct fl::fixed_point_impl< 8, 24, Sign::SIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 8, 24, Sign::SIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 8, 24, Sign::SIGNED >:
Class Members
typedef s8x24 type s8x24

◆ fl::fixed_point_impl< 8, 24, Sign::UNSIGNED >

struct fl::fixed_point_impl< 8, 24, Sign::UNSIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 8, 24, Sign::UNSIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 8, 24, Sign::UNSIGNED >:
Class Members
typedef u8x24 type u8x24

◆ fl::fixed_point_impl< 8, 8, Sign::SIGNED >

struct fl::fixed_point_impl< 8, 8, Sign::SIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 8, 8, Sign::SIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 8, 8, Sign::SIGNED >:
Class Members
typedef s8x8 type s8x8

◆ fl::fixed_point_impl< 8, 8, Sign::UNSIGNED >

struct fl::fixed_point_impl< 8, 8, Sign::UNSIGNED >
+ Inheritance diagram for fl::fixed_point_impl< 8, 8, Sign::UNSIGNED >:
+ Collaboration diagram for fl::fixed_point_impl< 8, 8, Sign::UNSIGNED >:
Class Members
typedef u8x8 type u8x8