Closed Ogeon closed 3 months ago
Comparing conversion_matrix
(b907852) with master
(7971660)
β 1
regressions
β
42
untouched benchmarks
π 4
new benchmarks
βοΈ 3 (π 3)
dropped benchmarks
:warning: _Please fix the performance issues or acknowledge them on CodSpeed._
Benchmark | master |
conversion_matrix |
Change | |
---|---|---|---|---|
π | linsrgb to xyz - Matrix3 |
N/A | 5.9 Β΅s | N/A |
β | matrix_inverse |
438.9 ns | 497.2 ns | -11.73% |
π | multiply_rgb_to_xyz |
0 s | N/A | N/A |
π | multiply_xyz |
0 s | N/A | N/A |
π | multiply_xyz_to_rgb |
0 s | N/A | N/A |
π | lms to linsrgb |
N/A | 3.2 Β΅s | N/A |
π | lms to linsrgb - Matrix3 |
N/A | 2.2 Β΅s | N/A |
π | xyz to linsrgb - Matrix3 |
N/A | 5.9 Β΅s | N/A |
Attention: Patch coverage is 87.87879%
with 36 lines
in your changes missing coverage. Please review.
Project coverage is 82.62%. Comparing base (
7971660
) to head (b907852
).
Adds a few basic tools for reusable converters, similar to what's discussed in #396:
convert::Matrix3
, which represents a 3x3 conversion matrix from one type to another. It may speed up multi-step conversions that can be simplified as a single matrix.convert::Convert
andconvert::ConvertOnce
traits for abstracting over types that can convert other types, similar toFn
andFnOnce
in relation to each other. They are implemented byconvert::Matrix3
andcam16::BakedParameters
.Rgb::matrix_from_xyz
,Xyz::matrix_from_rgb
,Xyz::matrix_from_lms
andLms::matrix_from_xyz
as initial building blocks for composing conversion matrices.Some old matrix code has also been cleaned up or replaced. The
matrix
module is not considered public, so its content should not be relied upon.