Skip to content

Add LogExpFunctions 1.0 to compat#76

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:logexpfunctions-1.0-compat
May 28, 2026
Merged

Add LogExpFunctions 1.0 to compat#76
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:logexpfunctions-1.0-compat

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Please ignore until reviewed by @ChrisRackauckas.

Supersedes #75 (dependabot). This is the same compat bump (LogExpFunctions = "0.3, 1.0") plus a verification record.

Summary

LogExpFunctions v1.0.0's only listed breaking change is a docstring relaxation for log2mexp (JuliaStats/LogExpFunctions.jl#103). PoissonRandom does not use log2mexp.

The only LogExpFunctions API consumed here is log1pmx at src/PoissonRandom.jl:114. The v1.0 release added a Float32 implementation and improved accuracy for log1pmx, but the signature and behavior on existing inputs are unchanged. No code changes are required — only the compat bound.

Verification

Ran the full test suite (Aqua, JET static analysis, ExplicitImports, count_rand/ad_rand/pois_rand statistical samplers, BigFloat support, PassthroughRNG dispatch, AllocCheck zero-allocation tests) against LogExpFunctions 1.0.0 on:

  • Julia 1.10.11 — all tests pass
  • Julia 1.11.9 — all tests pass
  • Julia 1.12.6 — all tests pass

Also spot-checked log1pmx directly with Float64, Float32, and BigFloat inputs against LogExpFunctions 1.0.0 — values match expectations.

Test plan

  • CI passes on Julia 1.10, 1.11, 1.12 with LogExpFunctions 1.0.0 resolved
  • CI also passes with LogExpFunctions 0.3.x (lower bound) still resolvable

🤖 Generated with Claude Code

LogExpFunctions v1.0.0's only listed breaking change is a docstring
relaxation for log2mexp, which PoissonRandom does not use. The only
LogExpFunctions API consumed here is log1pmx (src/PoissonRandom.jl:114),
whose v1.0 release added a Float32 implementation and improved accuracy
but kept the signature unchanged. Full test suite (Aqua, JET,
ExplicitImports, statistical samplers, BigFloat support,
PassthroughRNG dispatch, AllocCheck) passes against LogExpFunctions
1.0.0 on Julia 1.10, 1.11, and 1.12.

This is the same change as dependabot PR SciML#75; opening it as a regular
PR for review.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review May 28, 2026 20:45
@ChrisRackauckas ChrisRackauckas merged commit f75849b into SciML:master May 28, 2026
10 of 13 checks passed
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor Author

CI status on this PR:

  • Julia 1 (release, 1.12) and lts (1.10) — pass on ubuntu / macos / windows
  • Julia pre (1.13.0-rc1) — fails, but this is a pre-existing failure also present on master (JET has no Julia 1.13 release yet)

Note: the matching dependabot PR (#75) shows all test jobs failing, which is not caused by the LogExpFunctions bump. It's the force_latest_compatible_version flag in julia-actions/julia-runtest — that flag is auto-enabled for dependabot PRs, and forces JET to its latest tagged version (0.11). JET 0.11 requires julia ≥ 1.12 (see JET v0.11.3 Project.toml), so it's incompatible with the lts (1.10) matrix entry under that forced-latest constraint. Non-dependabot PRs (like this one) don't trigger that flag, so the resolver is free to downgrade JET to 0.9/0.10 and resolve cleanly.

In other words, #75 fails for unrelated CI-config reasons, not because LogExpFunctions 1.0 is broken. The compat widening itself is safe.

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