Skip to content

[6.40] [treeplayer] Fix precision loss in TTree::Scan for 64-bit integers#22665

Merged
guitargeek merged 1 commit into
root-project:v6-40-00-patchesfrom
root-project-bot:BP_6.40_pull_22600
Jun 21, 2026
Merged

[6.40] [treeplayer] Fix precision loss in TTree::Scan for 64-bit integers#22665
guitargeek merged 1 commit into
root-project:v6-40-00-patchesfrom
root-project-bot:BP_6.40_pull_22600

Conversation

@root-project-bot

Copy link
Copy Markdown

Backport of #22600, requested by @dpiparo. For your information @guitargeek

The `"lld"` column format passed without an embedded size (e.g. via
`"colsize=N col=lld"`) was not recognized as a `"long long"` modifier in
**TTreeFormula::PrintValue**, so 64-bit integer branches (e.g.
`ULong64_t`) were evaluated as double and rounded above 2^53.

This commit fixes a off-by-one problem in the length-modifier detection
to address the issue, adding also a regression test.

Closes root-project#7844.

🤖 Done with the help of [Claude Code](https://claude.com/claude-code) (Claude Opus 4.8)

(cherry picked from commit 7cea10c)
@guitargeek

Copy link
Copy Markdown
Contributor

Thanks!

@github-actions

Copy link
Copy Markdown

Test Results

    22 files      22 suites   3d 12h 16m 46s ⏱️
 3 858 tests  3 852 ✅   0 💤 6 ❌
76 202 runs  76 076 ✅ 120 💤 6 ❌

For more details on these failures, see this check.

Results for commit 149ddd6.

@guitargeek guitargeek merged commit 729b3e8 into root-project:v6-40-00-patches Jun 21, 2026
29 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants