Emit floats an f32 can hold, and drop the format! that formats nothing
CI runs cargo fmt --check and clippy -D warnings, and this branch had never been through either. Both would have failed it. The bulk was the generated colour tables: eight significant figures where an f32 carries about 7.2, so the eighth is noise that rounds away at compile time and clippy's excessive_precision says so 109 times over. Fixed in the generator rather than only in the file, so it stays fixed -- and the file is trimmed in place rather than re-derived, because regenerating it needs a colour-science stack that has nothing to do with the defect. The format! in the composer is mine too, from extracting the rendering tail: the braces in it were escaped because the text used to live inside a larger template, and once extracted the escapes are noise and the call formats nothing. Also here, and clearly not mine: an unused import and a shadowed binding in dr-gpu, and an unused import in a test. They are pre-existing -- clippy has been failing on master before this branch existed, on lints like is_multiple_of that arrived with a toolchain rather than with anyone's code. Fixed because CI cannot go green around them, and called out because a merge commit is a bad place to quietly edit someone else's crate. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -268,9 +268,17 @@ def emit_tables(dest):
|
||||
basis = colour.recovery.MSDS_BASIS_FUNCTIONS_sRGB_MALLETT2019.copy().align(grid).values
|
||||
|
||||
def lit(v):
|
||||
"""Always a float literal: `%g` renders an exact zero as `0`, which is
|
||||
an integer in Rust and will not compile in an `[f32; _]`."""
|
||||
s = f"{v:.8g}"
|
||||
"""A float literal an `f32` can actually hold.
|
||||
|
||||
Seven significant figures, not eight: `f32` carries about 7.2 decimal
|
||||
digits, so an eighth is noise that rounds away at compile time -- and
|
||||
clippy's `excessive_precision` says so, which under CI's `-D warnings`
|
||||
is a failed build rather than a note.
|
||||
|
||||
Always a literal, too: `%g` renders an exact zero as `0`, which is an
|
||||
integer in Rust and will not compile in an `[f32; _]`.
|
||||
"""
|
||||
s = f"{v:.7g}"
|
||||
return s if any(ch in s for ch in ".eE") else s + ".0"
|
||||
|
||||
def table(name, doc, values):
|
||||
|
||||
Reference in New Issue
Block a user