Skip to content

Force type specialization of ESDIRK*L2SA tableau dispatches#3654

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
singhharsh1708:sdirk-pure-esdirk-helper-val
May 19, 2026
Merged

Force type specialization of ESDIRK*L2SA tableau dispatches#3654
ChrisRackauckas merged 1 commit into
SciML:masterfrom
singhharsh1708:sdirk-pure-esdirk-helper-val

Conversation

@singhharsh1708

Copy link
Copy Markdown
Contributor

The _pure_esdirk_to_imex_tableau helper took stage count as runtime Int from size(Ai_mat, 1); now takes ::Val{S} so dispatch infers ESDIRKIMEXTableau{S, T, T2, :standard} concretely.

Checklist

  • Appropriate tests were added
  • Any code changes were done in a way that does not break public API
  • All documentation related to code changes were updated
  • The new code follows the
    contributor guidelines, in particular the SciML Style Guide and
    COLPRAC.
  • Any new documentation only uses public API

Additional context

Add any other context about the problem here.

The _pure_esdirk_to_imex_tableau helper took stage count as runtime
Int from size(Ai_mat, 1); now takes ::Val{S} so dispatch infers
ESDIRKIMEXTableau{S, T, T2, :standard} concretely.
@singhharsh1708

Copy link
Copy Markdown
Contributor Author

@ChrisRackauckas Re: your review on #3651 about type specialization of the ESDIRKIMEXTableau(::Alg, T, T2) dispatches — turned out 5 of them (the ESDIRK*L2SA family) were inferring as abstract ESDIRKIMEXTableau{_A, …} where _A because _pure_esdirk_to_imex_tableau was reading stage count as a runtime Int from size(Ai_mat, 1). Fixed by making the helper take ::Val{S} and passing Val(s) from each caller (they already had s = N as a local literal). All 23 dispatches now inline to concrete ESDIRKIMEXTableau{S, T, T2, E}. SDIRK convergence + DAE suites still pass.

@ChrisRackauckas ChrisRackauckas merged commit dabe16d into SciML:master May 19, 2026
95 of 100 checks passed
@singhharsh1708 singhharsh1708 deleted the sdirk-pure-esdirk-helper-val branch May 20, 2026 07:04
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