FastLED 3.10.6
Loading...
Searching...
No Matches
oklab_q16.cpp.hpp File Reference
+ Include dependency graph for oklab_q16.cpp.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::anonymous_namespace{oklab_q16.cpp.hpp}
 

Functions

i32 fl::anonymous_namespace{oklab_q16.cpp.hpp}::clampOklabQ16 (i32 value, i32 bound) FL_NO_EXCEPT
 Clamp into a symmetric domain.
 
void fl::anonymous_namespace{oklab_q16.cpp.hpp}::dotOklabMatrixQ16 (const i32(&matrix)[3][3], const i32(&v)[3], i32(&out)[3]) FL_NO_EXCEPT
 
i32 fl::anonymous_namespace{oklab_q16.cpp.hpp}::dotOklabRowQ16 (const i32(&row)[3], const i32(&v)[3]) FL_NO_EXCEPT
 One matrix row against a clamped s16.16 vector.
 
void fl::oklabToXyzQ16 (const i32(&lab)[3], i32(&out_xyz)[3]) FL_NO_EXCEPT
 OKLab (s16.16) -> XYZ (s16.16).
 
i32 fl::anonymous_namespace{oklab_q16.cpp.hpp}::signedCbrtQ16 (i32 raw) FL_NO_EXCEPT
 Signed cube root of an s16.16 raw value.
 
i32 fl::anonymous_namespace{oklab_q16.cpp.hpp}::signedCubeQ16 (i32 raw) FL_NO_EXCEPT
 
void fl::xyzToOklabQ16 (const i32(&xyz)[3], i32(&out_lab)[3]) FL_NO_EXCEPT
 XYZ (s16.16, D65-relative) -> OKLab (s16.16), L then a then b.
 

Variables

constexpr i32 fl::anonymous_namespace{oklab_q16.cpp.hpp}::kLmsFromXyz [3][3]
 XYZ -> LMS.
 
constexpr i32 fl::anonymous_namespace{oklab_q16.cpp.hpp}::kLmsRootFromOklab [3][3]
 OKLab -> cube-rooted LMS.
 
constexpr i32 fl::anonymous_namespace{oklab_q16.cpp.hpp}::kOklabFromLmsRoot [3][3]
 Cube-rooted LMS -> OKLab.
 
constexpr i32 fl::anonymous_namespace{oklab_q16.cpp.hpp}::kOklabQ16MaxCubeRoot = 16 * 65536
 Signed cube of an s16.16 raw value, rounding to nearest at each step.
 
constexpr i32 fl::anonymous_namespace{oklab_q16.cpp.hpp}::kXyzFromLms [3][3]
 LMS -> XYZ.