parquet_debug_perm_config Subroutine

public subroutine parquet_debug_perm_config(rounds, parity, exact_max)

Reports the permutation kernel's effective configuration. Test-only.

An observation hook rather than a fourth override, and it exists because the three setters above have no readback: a test that restores the defaults cannot otherwise assert it really did, and one suite leaking a forced round count into another would show up as an unrelated golden-vector failure in whichever test happened to run next.

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: rounds

rounds the kernel will actually run

logical, intent(out) :: parity

whether the parity correction is applied

integer, intent(out) :: exact_max

largest m answered exactly; 0 when forced off


Source Code

    subroutine parquet_debug_perm_config(rounds, parity, exact_max)
        integer, intent(out) :: rounds              !! rounds the kernel will actually run
        logical, intent(out) :: parity              !! whether the parity correction is applied
        integer, intent(out) :: exact_max           !! largest `m` answered exactly; 0 when forced off
        rounds = perm_round_count()
        parity = .not. perm_dbg_no_parity
        exact_max = 0
        if (.not. perm_dbg_force_feistel) exact_max = perm_exact_max
    end subroutine parquet_debug_perm_config