Skip to content

P2 besselk: gsl_specialfunctions_mod -> fortnum bessel_kn#96

Open
krystophny wants to merge 4 commits into
mainfrom
reorder/p2-besselk
Open

P2 besselk: gsl_specialfunctions_mod -> fortnum bessel_kn#96
krystophny wants to merge 4 commits into
mainfrom
reorder/p2-besselk

Conversation

@krystophny

@krystophny krystophny commented Jun 14, 2026

Copy link
Copy Markdown
Member

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.

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.
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).
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.

1 participant