lumiera_/tests/basics
Ichthyostega 27089550d2 clean-up: relocate frame quantisation operations
The `FixedFrameQuantiser` relied on three functions from the raw-time handling library.
Since this (and NTSC drop-frame) are the only usages, these functions
can be relocated into the implemntation translation unit `lib/time/quantiser.cpp`

On closer inspection, this reveals some room for improvements:
Instead of relying on raw-computation functions written in C,
we could rather revert the dependency and express these computations
in terms of our Time-entities, which are written in C++, are much more
systematic and provide consistency checks and protection against numeric
overflow, all integrated with linear arithmetic and concise notation.

After performing these rearrangements,
most of the functions can be collapsed into ''almost nothing''.

This was taken as opportunity to re-check and improve the remaining
implementation core of the `FixedFrameQuantiser` -- the handling of
extreme corner cases can be much improved, now representing the
"grid-local time" as `Offset`, which doubles the possible value range.

The reworked unit test shows that, with this change, now the limitation
happens prior to quantisation, meaning that we always get a grid-aligned
result, even in the most extreme corner cases.
2025-05-28 23:49:01 +02:00
..
time clean-up: relocate frame quantisation operations 2025-05-28 23:49:01 +02:00
call-queue-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
dependency-configuration-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
dependency-factory-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
diagnostic-context-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
DIR_INFO reorganise test suite compartments 2014-10-17 20:02:25 +02:00
singleton-subclass-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
singleton-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
singleton-testmock-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
stream-type-basics-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
stream-type-lifecycle-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
test-target-obj.hpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
teststreamtypes.hpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
typed-counter-test.cpp Upgrade: improve Doxygen parameters and treat some warnings 2025-04-27 05:00:14 +02:00
typed-family-member-id-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
visitingtool-concept.cpp Upgrade: improve Doxygen parameters and treat some warnings 2025-04-27 05:00:14 +02:00
visitingtool-extended-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
visitingtool-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
zombie-check-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00