You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
quantecon/timings/ is the only subpackage with no test file at all, yet it exposes public API — qe.timings.float_precision() is reachable from the top-level namespace. It is 66 lines with two public functions and a module-level mutable global. Three things to address:
No tests.float_precision() has a validation branch (ValueError for non-integer or negative input) and get/set dual behaviour, neither exercised. The module-level global means tests need to restore state — worth getting right in the first test rather than retrofitting.
Two names for one read.float_precision() called with no argument and get_default_precision() return the same value by the same mechanism. One can go, or the relationship should be documented — as it stands a reader cannot tell which is canonical.
Problem
quantecon/timings/is the only subpackage with no test file at all, yet it exposes public API —qe.timings.float_precision()is reachable from the top-level namespace. It is 66 lines with two public functions and a module-level mutable global. Three things to address:float_precision()has a validation branch (ValueErrorfor non-integer or negative input) and get/set dual behaviour, neither exercised. The module-level global means tests need to restore state — worth getting right in the first test rather than retrofitting.float_precision()called with no argument andget_default_precision()return the same value by the same mechanism. One can go, or the relationship should be documented — as it stands a reader cannot tell which is canonical.Acceptance criteria
float_precision()documentedFrom the July 2026 technical-debt audit (AI-assisted; claims verified against
28d4b3bon 2026-07-25).