Commit ab729c1
committed
[tree] Fix long64 tree index losing precision on 64-bit long double platforms
The conditional `long64major ? GetLong64() : GetAndRangeCheck()` mixes
Long64_t and LongDouble_t, so the exact value was promoted through long
double regardless of branch. This rounded large values where long double
is 64-bit (macOS arm64, Windows), making
roottest-root-tree-index-indexl64 fail there while passing on Linux. Fix
this with an explicit `static_cast<Long64_t>(ret)`.
🤖 Done with the help of [Claude Code](https://claude.com/claude-code) (Claude Opus 4.8)
(cherry picked from commit d9fae25)1 parent d4d535d commit ab729c1
1 file changed
Lines changed: 7 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
192 | | - | |
| 192 | + | |
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
| |||
206 | 206 | | |
207 | 207 | | |
208 | 208 | | |
209 | | - | |
| 209 | + | |
210 | 210 | | |
211 | 211 | | |
212 | 212 | | |
213 | 213 | | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
214 | 219 | | |
215 | 220 | | |
216 | 221 | | |
| |||
0 commit comments