P2 besselk: gsl_specialfunctions_mod -> fortnum bessel_kn#96
Open
krystophny wants to merge 4 commits into
Open
P2 besselk: gsl_specialfunctions_mod -> fortnum bessel_kn#96krystophny wants to merge 4 commits into
krystophny wants to merge 4 commits into
Conversation
Declare fortnum once (guarded by NOT TARGET fortnum): prefer a local $CODE/fortnum checkout, otherwise FetchContent the pinned revision 4c560b0 over https so CI can clone the public repo. Link the common library against fortnum alongside the existing GSL/FGSL backends. This adds the new dependency before any call site migrates to it and removes nothing yet, so the build and physics are unchanged: GSL still backs gsl_specialfunctions_mod, gsl_integration_routines_mod, and gsl_bspline_routines_mod.
This was referenced Jun 14, 2026
Replace the FGSL backend of besselk(n,z) with fortnum bessel_kn. The module and public function name stay identical, so collop_compute.f90 (orders 0, 1, 2) compiles unchanged. The kind alias moves from fgsl_double to iso_fortran_env real64 (wp).
93e1b6f to
a58692e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merge order
#95 -> #96 -> #97 -> #98 -> #99
Each PR now targets main on its own, so its diff is cumulative (p1 + .. + pN) against main and the PRs share code. Merge them in the sequence above. Once a predecessor merges into main, the next PR's diff shrinks to its own increment.
Second PR of the reordered fortnum migration stack. Base: P1 (#95).
Replaces the FGSL backend of besselk(n,z) with fortnum bessel_kn. The module and public function name stay identical, so collop_compute.f90 (orders 0, 1, 2) compiles unchanged. The kind alias moves from fgsl_double to iso_fortran_env real64 (wp).
fortnum is already wired by P1; GSL/FGSL remain present and drop only in P5.
Note: fortnum pin updated to current main (92de6e9) after a fortnum history rewrite; old shas no longer resolve.