FastLED 3.10.6
Loading...
Searching...
No Matches
fl::anonymous_namespace{oklab_q16.cpp.hpp} Namespace Reference

Functions

i32 clampOklabQ16 (i32 value, i32 bound) FL_NO_EXCEPT
 Clamp into a symmetric domain.
 
void dotOklabMatrixQ16 (const i32(&matrix)[3][3], const i32(&v)[3], i32(&out)[3]) FL_NO_EXCEPT
 
i32 dotOklabRowQ16 (const i32(&row)[3], const i32(&v)[3]) FL_NO_EXCEPT
 One matrix row against a clamped s16.16 vector.
 
i32 signedCbrtQ16 (i32 raw) FL_NO_EXCEPT
 Signed cube root of an s16.16 raw value.
 
i32 signedCubeQ16 (i32 raw) FL_NO_EXCEPT
 

Variables

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