Skip to content

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

Open
root-project-bot wants to merge 1 commit into
root-project:v6-40-00-patchesfrom
root-project-bot:BP_6.40_pull_22600
Open

[6.40] [treeplayer] Fix precision loss in TTree::Scan for 64-bit integers#22665
root-project-bot wants to merge 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.

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