One field’s reduction bundle.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=int64), | public | :: | bits | = | 0_int64 |
Decomposition-invariant bitcount: the wrapped int64 sum of
POPCNT over the IEEE-754 bit pattern of every reduced element.
Unlike the FP |
|
| real(kind=wp), | public | :: | maxv | = | 0.0_wp |
NaN-blind extrema (see module docstring). |
|
| real(kind=wp), | public | :: | minv | = | 0.0_wp | ||
| integer, | public | :: | nonfin | = | 0 |
Count of non-finite entries — the corruption signal. |
|
| real(kind=wp), | public | :: | total | = | 0.0_wp |
Plain (non-compensated) sum — bitwise-stable per build, so log-diffable between two runs of the SAME binary; NaN when the field is contaminated. |
type :: chksum_stats_t !! One field's reduction bundle. real(wp) :: total = 0.0_wp !! Plain (non-compensated) sum — bitwise-stable per build, so !! log-diffable between two runs of the SAME binary; NaN when !! the field is contaminated. real(wp) :: minv = 0.0_wp real(wp) :: maxv = 0.0_wp !! NaN-blind extrema (see module docstring). integer :: nonfin = 0 !! Count of non-finite entries — the corruption signal. integer(int64) :: bits = 0_int64 !! Decomposition-invariant bitcount: the wrapped int64 sum of !! POPCNT over the IEEE-754 bit pattern of every reduced element. !! Unlike the FP `total` (only stable within one binary), !! integer addition is EXACTLY associative + commutative, so this !! is identical across rank counts and loop orders — the !! authoritative log-diff signal for a decomposition / halo bug. end type chksum_stats_t