|
| bool | fl::buildRgbSolveMatrixFromQ16 (const EmitterChromaticitiesQ16 &profile, EmitterSolveMatrixQ16 *out) FL_NO_EXCEPT |
| | Build the inverse emitter matrix from a Q16 profile, without floats.
|
| |
| bool | fl::buildRgbSolveMatrixQ16 (const colorimetric_response::EmitterProfile &profile, EmitterSolveMatrixQ16 *out) FL_NO_EXCEPT |
| | Invert the emitter matrix for a three-emitter profile.
|
| |
| bool | fl::anonymous_namespace{device_solve.cpp.hpp}::cofactorQ32 (i32 e, i32 i_, i32 f, i32 h, i64 *out) FL_NO_EXCEPT |
| | e * i - f * h, or false if any part of it leaves i64.
|
| |
| i64 | fl::anonymous_namespace{device_solve.cpp.hpp}::divideCoefficientQ16 (i64 cofactor_q32, i64 determinant_q48) FL_NO_EXCEPT |
| | round(cofactor_q32 * 2^32 / determinant_q48), in s16.16, without a 128-bit intermediate.
|
| |
| i32 | fl::detail::dotRowQ16 (const i32(&row)[3], const i32(&v)[3]) FL_NO_EXCEPT |
| | One s16.16 matrix row against a vector, rounded and saturated.
|
| |
| i32 | fl::anonymous_namespace{device_solve.cpp.hpp}::dotSolveRowQ16 (const i32(&row)[3], const i32(&v)[3]) FL_NO_EXCEPT |
| |
| bool | fl::anonymous_namespace{device_solve.cpp.hpp}::emitterColumnQ16 (const i32(&xy)[2], i32 luminance, i64(&column)[3]) FL_NO_EXCEPT |
| | One emitter's XYZ column at its own luminance, all in s16.16.
|
| |
| bool | fl::invert3x3Q16 (const i32(&in)[3][3], i32(&out)[3][3]) FL_NO_EXCEPT |
| | Inverse of an s16.16 3x3 matrix, in s16.16, computed without floats.
|
| |
| bool | fl::anonymous_namespace{device_solve.cpp.hpp}::productFitsI64 (i64 a, i64 b) FL_NO_EXCEPT |
| | Does a * b fit an i64?
|
| |
| bool | fl::q16FromFloatBits (float value, i32 *out) FL_NO_EXCEPT |
| | s16.16 of a float, rounded to nearest, computed from its IEEE-754 bits with integer arithmetic only – no soft-float helper on a part without an FPU (FastLED#4458).
|
| |
| i64 | fl::anonymous_namespace{device_solve.cpp.hpp}::roundedDivI64 (i64 numerator, i64 denominator) FL_NO_EXCEPT |
| | Nearest integer, halves away from zero.
|
| |
| i64 | fl::anonymous_namespace{device_solve.cpp.hpp}::roundedDivideQ16 (i64 numerator, i64 denominator) FL_NO_EXCEPT |
| | Nearest integer of numerator / denominator, halves away from zero.
|
| |
| i64 | fl::detail::roundedDivideQ16 (i64 numerator, i64 denominator) FL_NO_EXCEPT |
| | The s16.16 building blocks the bind-time builders share.
|
| |
| void | fl::solveRgbDrivesQ16 (const EmitterSolveMatrixQ16 &matrix, const i32(&xyz)[3], i32(&drives)[3]) FL_NO_EXCEPT |
| | One pixel: XYZ in s16.16 to three emitter drives in s16.16.
|
| |
| bool | fl::anonymous_namespace{device_solve.cpp.hpp}::sumFitsI64 (i64 a, i64 b) FL_NO_EXCEPT |
| | Does a + b fit an i64, for operands already known to be in range?
|
| |
| bool | fl::detail::xyzColumnQ16 (const i32(&xy)[2], i32 luminance, i64(&column)[3]) FL_NO_EXCEPT |
| | XYZ of chromaticity xy at luminance luminance, all s16.16; false for a non-positive or out-of-simplex chromaticity or a non-positive luminance.
|
| |