Skip to content

jacobwilliams/fortranpack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

logo

fortranpack: A Modern Fortran Numerical & Scientific Programming Package

Language CI Status last-commit

This is an experiment. It is basically just a Fortran Package Manager fpm.toml manifest file that uses the following packages:

Library Info Version Description
argv-fortran stars πŸ“– GitHub release A better get_command_argument for Fortran
bspline-fortran stars πŸ“– GitHub release Multidimensional B-Spline Interpolation of Data on a Regular Grid
carlson-elliptic-integrals stars πŸ“– GitHub release Carlson symmetric forms of elliptic integrals
conmax stars πŸ“– GitHub release Modern Fortran CONMAX Optimization Method for general nonlinearly constrained function minimization
conmin stars πŸ“– GitHub release Modern Fortran CONMIN Optimization Method
csv-fortran stars πŸ“– GitHub release Read and Write CSV Files Using Modern Fortran
daglib stars πŸ“– GitHub release Directed Acyclic Graphs With Modern Fortran
ddeabm stars πŸ“– GitHub release Modern Fortran implementation of the DDEABM Adams-Bashforth algorithm
dop853 stars πŸ“– GitHub release Modern Fortran Edition of Hairer's DOP853 ODE Solver
finterp stars πŸ“– GitHub release Multidimensional (1D-6D) Linear and Nearest-Neighbor Interpolation with Modern Fortran
fortran-mach stars πŸ“– GitHub release Modern Fortran Machine Constants Module (r1mach, d1mach, i1mach)
fortran-search-and-sort stars πŸ“– GitHub release Searching and sorting with modern Fortran
json-fortran stars πŸ“– GitHub release A Modern Fortran JSON API
lbfgsb stars πŸ“– GitHub release Modern Fortran Refactoring of L-BFGS-B Nonlinear Optimization Code
mersenne-twister-fortran stars πŸ“– GitHub release Mersenne Twister pseudorandom number generator for Fortran
nlesolver-fortran stars πŸ“– GitHub release Nonlinear Equation Solver with Modern Fortran
NumDiff stars πŸ“– GitHub release Modern Fortran Numerical Differentiation Library
optgra stars πŸ“– GitHub release Modern Fortran edition of OPTGRA optimization algorithm from ESA
pchip stars πŸ“– GitHub release Modern Fortran Piecewise Cubic Hermite Interpolation Package
pikaia stars πŸ“– GitHub release Modern Fortran Edition of the Pikaia Genetic Algorithm
polyroots-fortran stars πŸ“– GitHub release Modern Fortran library for finding the roots of real and complex polynomial equations
popen-fortran stars πŸ“– GitHub release Simple Fortran module for popen
psqp stars πŸ“– GitHub release Modern Fortran Edition of PSQP (Sequential quadratic programming algorithm)
pyplot-fortran stars πŸ“– GitHub release For generating plots from Fortran using Python's matplotlib.pyplot
quadpack stars πŸ“– GitHub release Modern Fortran QUADPACK Library for 1D numerical quadrature
quadrature-fortran stars πŸ“– GitHub release 1D-6D Adaptive Gaussian Quadrature with Modern Fortran
regridpack stars πŸ“– GitHub release Modern Fortran Edition of REGRIDPACK
rklib stars πŸ“– GitHub release Fixed and variable-step Runge-Kutta solvers in Modern Fortran
roots-fortran stars πŸ“– GitHub release A modern Fortran library for finding the roots of continuous scalar functions of a single real variable, using derivative-free methods.
simulated-annealing stars πŸ“– GitHub release Simulated Annealing with Modern Fortran
slsqp stars πŸ“– GitHub release Modern Fortran Edition of the SLSQP Optimizer
splpak stars πŸ“– GitHub release Modernized SPLPAK library for multidimensional least-squares cubic spline fitting
stringsort stars πŸ“– GitHub release Modern Fortran sorting routines for strings
uuid-fortran stars πŸ“– GitHub release Fortran module for generating UUIDs

To use this, just add this to your project's fpm.toml file:

[dependencies]
fortranpack = { git="https://github.com/jacobwilliams/fortranpack.git" }

Building

By default, the library is built with double precision (real64) real values. Explicitly specifying the real kind can be done using the following preprocessor flags:

Preprocessor flag Kind Number of bytes
REAL32 real(kind=real32) 4
REAL64 real(kind=real64) 8
REAL128 real(kind=real128) 16

For example, to build a quad precision version of the library, use:

fpm build --profile release --flag "-DREAL128"

See also

About

A Modern Fortran Numerical & Scientific Programming Package

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published