├── .github └── workflows │ └── CI.yml ├── .gitignore ├── README.md ├── app └── main.f90 ├── fortranpack.code-workspace ├── fpm.toml ├── media ├── fortranpack.logoist └── fortranpack.png ├── src └── fortranpack.f90 └── test └── check.f90 /.github/workflows/CI.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | on: [push] 3 | jobs: 4 | 5 | Build: 6 | runs-on: ${{ matrix.os }} 7 | permissions: 8 | contents: write 9 | strategy: 10 | fail-fast: false 11 | matrix: 12 | os: [ubuntu-latest] 13 | gcc_v: [14] # Version of GFortran we want to use. 14 | python-version: [3.12] 15 | env: 16 | FC: gfortran-${{ matrix.gcc_v }} 17 | GCC_V: ${{ matrix.gcc_v }} 18 | 19 | steps: 20 | - name: Checkout code 21 | uses: actions/checkout@v3 22 | with: 23 | submodules: recursive 24 | 25 | - name: Install Python 26 | uses: actions/setup-python@v4 # Use pip to install latest CMake, & FORD/Jin2For, etc. 27 | with: 28 | python-version: ${{ matrix.python-version }} 29 | 30 | - name: Setup Graphviz 31 | uses: ts-graphviz/setup-graphviz@v1 32 | 33 | - name: Setup Fortran Package Manager 34 | uses: fortran-lang/setup-fpm@v7 35 | with: 36 | github-token: ${{ secrets.GITHUB_TOKEN }} 37 | 38 | - name: Install Python dependencies 39 | if: contains( matrix.os, 'ubuntu') 40 | run: | 41 | python -m pip install --upgrade pip 42 | pip install ford numpy matplotlib 43 | if [ -f requirements.txt ]; then pip install -r requirements.txt; fi 44 | 45 | - name: Install GFortran Linux 46 | if: contains( matrix.os, 'ubuntu') 47 | run: | 48 | sudo apt-get install lcov 49 | sudo add-apt-repository ppa:ubuntu-toolchain-r/test 50 | sudo apt-get update 51 | sudo apt-get install -y gcc-${{ matrix.gcc_v }} gfortran-${{ matrix.gcc_v }} 52 | sudo update-alternatives \ 53 | --install /usr/bin/gcc gcc /usr/bin/gcc-${{ matrix.gcc_v }} 100 \ 54 | --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${{ matrix.gcc_v }} \ 55 | --slave /usr/bin/gcov gcov /usr/bin/gcov-${{ matrix.gcc_v }} 56 | sudo apt-get install libblas-dev liblapack-dev 57 | 58 | # - name: Compile 59 | # run: fpm build --profile release 60 | 61 | # - name: Run tests 62 | # run: fpm test --profile debug --flag -coverage 63 | 64 | # - name: Build documentation 65 | # run: ford ./ford.md 66 | 67 | # - name: Deploy Documentation 68 | # if: github.ref == 'refs/heads/master' 69 | # uses: JamesIves/github-pages-deploy-action@v4.7.3 70 | # with: 71 | # branch: gh-pages # The branch the action should deploy to. 72 | # folder: doc # The folder the action should deploy. 73 | # single-commit: true 74 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # directories 2 | doc/ 3 | bin/ 4 | lib/ 5 | Debug/ 6 | Release/ 7 | build/ 8 | 9 | # visual studio 10 | *.suo 11 | *.u2d 12 | 13 | # Compiled Object files 14 | *.slo 15 | *.lo 16 | *.o 17 | *.obj 18 | 19 | # Precompiled Headers 20 | *.gch 21 | *.pch 22 | 23 | # Compiled Dynamic libraries 24 | *.so 25 | *.dylib 26 | *.dll 27 | 28 | # Fortran module files 29 | *.mod 30 | 31 | # Compiled Static libraries 32 | *.lai 33 | *.la 34 | *.a 35 | *.lib 36 | 37 | # Executables 38 | *.exe 39 | *.out 40 | *.app 41 | 42 | # misc 43 | .DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![logo](media/fortranpack.png) 2 | 3 | **fortranpack**: A Modern Fortran Numerical & Scientific Programming Package 4 | 5 | [![Language](https://img.shields.io/badge/-Fortran-734f96?logo=fortran&logoColor=white)](https://github.com/topics/fortran) 6 | [![CI Status](https://github.com/jacobwilliams/fortranpack/actions/workflows/CI.yml/badge.svg)](https://github.com/jacobwilliams/fortranpack/actions) 7 | [![last-commit](https://img.shields.io/github/last-commit/jacobwilliams/fortranpack)](https://github.com/jacobwilliams/fortranpack/commits/master) 8 | 9 | 10 | 11 | 12 | This is an experiment. It is basically just a [Fortran Package Manager](https://fpm.fortran-lang.org) `fpm.toml` manifest file that uses the following packages: 13 | 14 | Library | Info | Version | Description 15 | --- | --- | --- | --- 16 | [argv-fortran ](https://github.com/jacobwilliams/argv-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/argv-fortran) [📖](https://jacobwilliams.github.io/argv-fortran/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/argv-fortran.svg?style=plastic)](https://github.com/jacobwilliams/argv-fortran/releases/latest) | A better `get_command_argument` for Fortran 17 | [bspline-fortran ](https://github.com/jacobwilliams/bspline-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/bspline-fortran) [📖](https://jacobwilliams.github.io/bspline-fortran/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/bspline-fortran.svg?style=plastic)](https://github.com/jacobwilliams/bspline-fortran/releases/latest) | Multidimensional B-Spline Interpolation of Data on a Regular Grid 18 | [carlson-elliptic-integrals](https://github.com/jacobwilliams/carlson-elliptic-integrals) | ![stars](https://img.shields.io/github/stars/jacobwilliams/carlson-elliptic-integrals) [📖](https://jacobwilliams.github.io/carlson-elliptic-integrals/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/carlson-elliptic-integrals.svg?style=plastic)](https://github.com/jacobwilliams/carlson-elliptic-integrals/releases/latest) | Carlson symmetric forms of elliptic integrals 19 | [conmax ](https://github.com/jacobwilliams/conmax) | ![stars](https://img.shields.io/github/stars/jacobwilliams/conmax) [📖](https://jacobwilliams.github.io/conmax/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/conmax.svg?style=plastic)](https://github.com/jacobwilliams/conmax/releases/latest) | Modern Fortran CONMAX Optimization Method for general nonlinearly constrained function minimization 20 | [conmin ](https://github.com/jacobwilliams/conmin) | ![stars](https://img.shields.io/github/stars/jacobwilliams/conmin) [📖](https://jacobwilliams.github.io/conmin/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/conmin.svg?style=plastic)](https://github.com/jacobwilliams/conmin/releases/latest) | Modern Fortran CONMIN Optimization Method 21 | [csv-fortran ](https://github.com/jacobwilliams/csv-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/csv-fortran) [📖](https://jacobwilliams.github.io/csv-fortran/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/csv-fortran.svg?style=plastic)](https://github.com/jacobwilliams/csv-fortran/releases/latest) | Read and Write CSV Files Using Modern Fortran 22 | [daglib ](https://github.com/jacobwilliams/daglib) | ![stars](https://img.shields.io/github/stars/jacobwilliams/daglib) [📖](https://jacobwilliams.github.io/daglib/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/daglib.svg?style=plastic)](https://github.com/jacobwilliams/daglib/releases/latest) | Directed Acyclic Graphs With Modern Fortran 23 | [ddeabm ](https://github.com/jacobwilliams/ddeabm) | ![stars](https://img.shields.io/github/stars/jacobwilliams/ddeabm) [📖](https://jacobwilliams.github.io/ddeabm/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/ddeabm.svg?style=plastic)](https://github.com/jacobwilliams/ddeabm/releases/latest) | Modern Fortran implementation of the DDEABM Adams-Bashforth algorithm 24 | [dop853 ](https://github.com/jacobwilliams/dop853) | ![stars](https://img.shields.io/github/stars/jacobwilliams/dop853) [📖](https://jacobwilliams.github.io/dop853/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/dop853.svg?style=plastic)](https://github.com/jacobwilliams/dop853/releases/latest) | Modern Fortran Edition of Hairer's DOP853 ODE Solver 25 | [finterp ](https://github.com/jacobwilliams/finterp) | ![stars](https://img.shields.io/github/stars/jacobwilliams/finterp) [📖](https://jacobwilliams.github.io/finterp/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/finterp.svg?style=plastic)](https://github.com/jacobwilliams/finterp/releases/latest) | Multidimensional (1D-6D) Linear and Nearest-Neighbor Interpolation with Modern Fortran 26 | [fortran-mach ](https://github.com/jacobwilliams/fortran-mach) | ![stars](https://img.shields.io/github/stars/jacobwilliams/fortran-mach) [📖](https://jacobwilliams.github.io/fortran-mach/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/fortran-mach.svg?style=plastic)](https://github.com/jacobwilliams/fortran-mach/releases/latest) | Modern Fortran Machine Constants Module (r1mach, d1mach, i1mach) 27 | [fortran-search-and-sort ](https://github.com/jacobwilliams/fortran-search-and-sort) | ![stars](https://img.shields.io/github/stars/jacobwilliams/fortran-search-and-sort) [📖](https://jacobwilliams.github.io/fortran-search-and-sort/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/fortran-search-and-sort.svg?style=plastic)](https://github.com/jacobwilliams/fortran-search-and-sort/releases/latest) | Searching and sorting with modern Fortran 28 | [json-fortran ](https://github.com/jacobwilliams/json-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/json-fortran) [📖](https://jacobwilliams.github.io/json-fortran/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/json-fortran.svg?style=plastic)](https://github.com/jacobwilliams/json-fortran/releases/latest) | A Modern Fortran JSON API 29 | [lbfgsb ](https://github.com/jacobwilliams/lbfgsb) | ![stars](https://img.shields.io/github/stars/jacobwilliams/lbfgsb) [📖](https://jacobwilliams.github.io/lbfgsb/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/lbfgsb.svg?style=plastic)](https://github.com/jacobwilliams/lbfgsb/releases/latest) | Modern Fortran Refactoring of L-BFGS-B Nonlinear Optimization Code 30 | [mersenne-twister-fortran ](https://github.com/jacobwilliams/mersenne-twister-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/mersenne-twister-fortran) [📖](https://jacobwilliams.github.io/mersenne-twister-fortran/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/mersenne-twister-fortran.svg?style=plastic)](https://github.com/jacobwilliams/mersenne-twister-fortran/releases/latest) | Mersenne Twister pseudorandom number generator for Fortran 31 | [nlesolver-fortran ](https://github.com/jacobwilliams/nlesolver-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/nlesolver-fortran) [📖](https://jacobwilliams.github.io/nlesolver-fortran/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/nlesolver-fortran.svg?style=plastic)](https://github.com/jacobwilliams/nlesolver-fortran/releases/latest) | Nonlinear Equation Solver with Modern Fortran 32 | [NumDiff ](https://github.com/jacobwilliams/NumDiff) | ![stars](https://img.shields.io/github/stars/jacobwilliams/NumDiff) [📖](https://jacobwilliams.github.io/NumDiff/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/NumDiff.svg?style=plastic)](https://github.com/jacobwilliams/NumDiff/releases/latest) | Modern Fortran Numerical Differentiation Library 33 | [optgra ](https://github.com/jacobwilliams/optgra) | ![stars](https://img.shields.io/github/stars/jacobwilliams/optgra) [📖](https://jacobwilliams.github.io/optgra/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/optgra.svg?style=plastic)](https://github.com/jacobwilliams/optgra/releases/latest) | Modern Fortran edition of OPTGRA optimization algorithm from ESA 34 | [pchip ](https://github.com/jacobwilliams/PCHIP) | ![stars](https://img.shields.io/github/stars/jacobwilliams/pchip) [📖](https://jacobwilliams.github.io/pchip/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/pchip.svg?style=plastic)](https://github.com/jacobwilliams/pchip/releases/latest) | Modern Fortran Piecewise Cubic Hermite Interpolation Package 35 | [pikaia ](https://github.com/jacobwilliams/pikaia) | ![stars](https://img.shields.io/github/stars/jacobwilliams/pikaia) [📖](https://jacobwilliams.github.io/pikaia/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/pikaia.svg?style=plastic)](https://github.com/jacobwilliams/pikaia/releases/latest) | Modern Fortran Edition of the Pikaia Genetic Algorithm 36 | [polyroots-fortran ](https://github.com/jacobwilliams/polyroots-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/polyroots-fortran) [📖](https://jacobwilliams.github.io/polyroots-fortran/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/polyroots-fortran.svg?style=plastic)](https://github.com/jacobwilliams/polyroots-fortran/releases/latest) | Modern Fortran library for finding the roots of real and complex polynomial equations 37 | [popen-fortran ](https://github.com/jacobwilliams/popen-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/popen-fortran) [📖](https://jacobwilliams.github.io/popen-fortran/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/popen-fortran.svg?style=plastic)](https://github.com/jacobwilliams/popen-fortran/releases/latest) | Simple Fortran module for popen 38 | [psqp ](https://github.com/jacobwilliams/psqp) | ![stars](https://img.shields.io/github/stars/jacobwilliams/psqp) [📖](https://jacobwilliams.github.io/psqp/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/psqp.svg?style=plastic)](https://github.com/jacobwilliams/psqp/releases/latest) | Modern Fortran Edition of PSQP (Sequential quadratic programming algorithm) 39 | [pyplot-fortran ](https://github.com/jacobwilliams/pyplot-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/pyplot-fortran) [📖](https://jacobwilliams.github.io/pyplot-fortran/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/pyplot-fortran.svg?style=plastic)](https://github.com/jacobwilliams/pyplot-fortran/releases/latest) | For generating plots from Fortran using Python's `matplotlib.pyplot` 40 | [quadpack ](https://github.com/jacobwilliams/quadpack) | ![stars](https://img.shields.io/github/stars/jacobwilliams/quadpack) [📖](https://jacobwilliams.github.io/quadpack/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/quadpack.svg?style=plastic)](https://github.com/jacobwilliams/quadpack/releases/latest) | Modern Fortran QUADPACK Library for 1D numerical quadrature 41 | [quadrature-fortran ](https://github.com/jacobwilliams/quadrature-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/quadrature-fortran) [📖](https://jacobwilliams.github.io/quadrature-fortran/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/quadrature-fortran.svg?style=plastic)](https://github.com/jacobwilliams/quadrature-fortran/releases/latest) | 1D-6D Adaptive Gaussian Quadrature with Modern Fortran 42 | [regridpack ](https://github.com/jacobwilliams/regridpack) | ![stars](https://img.shields.io/github/stars/jacobwilliams/regridpack) [📖](https://jacobwilliams.github.io/regridpack/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/regridpack.svg?style=plastic)](https://github.com/jacobwilliams/regridpack/releases/latest) | Modern Fortran Edition of REGRIDPACK 43 | [rklib ](https://github.com/jacobwilliams/rklib) | ![stars](https://img.shields.io/github/stars/jacobwilliams/rklib) [📖](https://jacobwilliams.github.io/rklib/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/rklib.svg?style=plastic)](https://github.com/jacobwilliams/rklib/releases/latest) | Fixed and variable-step Runge-Kutta solvers in Modern Fortran 44 | [roots-fortran ](https://github.com/jacobwilliams/roots-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/roots-fortran) [📖](https://jacobwilliams.github.io/roots-fortran/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/roots-fortran.svg?style=plastic)](https://github.com/jacobwilliams/roots-fortran/releases/latest) | A modern Fortran library for finding the roots of continuous scalar functions of a single real variable, using derivative-free methods. 45 | [simulated-annealing ](https://github.com/jacobwilliams/simulated-annealing) | ![stars](https://img.shields.io/github/stars/jacobwilliams/simulated-annealing) [📖](https://jacobwilliams.github.io/simulated-annealing/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/simulated-annealing.svg?style=plastic)](https://github.com/jacobwilliams/simulated-annealing/releases/latest) | Simulated Annealing with Modern Fortran 46 | [slsqp ](https://github.com/jacobwilliams/slsqp) | ![stars](https://img.shields.io/github/stars/jacobwilliams/slsqp) [📖](https://jacobwilliams.github.io/slsqp/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/slsqp.svg?style=plastic)](https://github.com/jacobwilliams/slsqp/releases/latest) | Modern Fortran Edition of the SLSQP Optimizer 47 | [splpak ](https://github.com/jacobwilliams/splpak) | ![stars](https://img.shields.io/github/stars/jacobwilliams/splpak) [📖](https://jacobwilliams.github.io/splpak/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/splpak.svg?style=plastic)](https://github.com/jacobwilliams/splpak/releases/latest) | Modernized SPLPAK library for multidimensional least-squares cubic spline fitting 48 | [stringsort ](https://github.com/jacobwilliams/stringsort) | ![stars](https://img.shields.io/github/stars/jacobwilliams/stringsort) [📖](https://jacobwilliams.github.io/stringsort/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/stringsort.svg?style=plastic)](https://github.com/jacobwilliams/stringsort/releases/latest) | Modern Fortran sorting routines for strings 49 | [uuid-fortran ](https://github.com/jacobwilliams/uuid-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/uuid-fortran) [📖](https://jacobwilliams.github.io/uuid-fortran/) | [![GitHub release](https://img.shields.io/github/release/jacobwilliams/uuid-fortran.svg?style=plastic)](https://github.com/jacobwilliams/uuid-fortran/releases/latest) | Fortran module for generating UUIDs 50 | 51 | To use this, just add this to your project's `fpm.toml` file: 52 | 53 | ```toml 54 | [dependencies] 55 | fortranpack = { git="https://github.com/jacobwilliams/fortranpack.git" } 56 | ``` 57 | ### Building 58 | 59 | 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: 60 | 61 | Preprocessor flag | Kind | Number of bytes 62 | ----------------- | ----- | --------------- 63 | `REAL32` | `real(kind=real32)` | 4 64 | `REAL64` | `real(kind=real64)` | 8 65 | `REAL128` | `real(kind=real128)` | 16 66 | 67 | For example, to build a quad precision version of the library, use: 68 | 69 | ``` 70 | fpm build --profile release --flag "-DREAL128" 71 | ``` 72 | 73 | ### See also 74 | 75 | * [A Modern Fortran Scientific Programming Ecosystem](https://degenerateconic.com/a-modern-fortran-scientific-programming-ecosystem.html), degenerateconic.com, Oct 12, 2022. 76 | * [Packs](https://degenerateconic.com/packs.html), degenerateconic.com, Feb 08, 2022. 77 | * [Fortran Standard Library](https://github.com/fortran-lang/stdlib) -------------------------------------------------------------------------------- /app/main.f90: -------------------------------------------------------------------------------- 1 | program main 2 | use fortranpack 3 | implicit none 4 | 5 | print*, 'hello world' 6 | end program main 7 | -------------------------------------------------------------------------------- /fortranpack.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "path": "." 5 | } 6 | ], 7 | "settings": { 8 | "files.trimTrailingWhitespace": true, 9 | "editor.insertSpaces": true, 10 | "editor.tabSize": 4, 11 | "editor.trimAutoWhitespace": true 12 | } 13 | } -------------------------------------------------------------------------------- /fpm.toml: -------------------------------------------------------------------------------- 1 | name = "fortranpack" 2 | version = "0.1.0" 3 | license = "license" 4 | author = "Jacob Williams" 5 | maintainer = "jacobwilliams@users.noreply.github.com" 6 | copyright = "Copyright 2025, Jacob Williams" 7 | 8 | [build] 9 | auto-executables = true 10 | auto-tests = true 11 | auto-examples = true 12 | module-naming = false 13 | link = ["lapack", "blas"] 14 | 15 | [install] 16 | library = true 17 | test = false 18 | 19 | [fortran] 20 | implicit-typing = false 21 | implicit-external = false 22 | source-form = "free" 23 | 24 | [library] 25 | source-dir = "src" 26 | 27 | [dependencies] 28 | argv-fortran = { git = "https://github.com/jacobwilliams/argv-fortran" } 29 | bspline-fortran = { git = "https://github.com/jacobwilliams/bspline-fortran" } 30 | carlson-elliptic-integrals = { git = "https://github.com/jacobwilliams/carlson-elliptic-integrals" } 31 | conmax = { git = "https://github.com/jacobwilliams/conmax" } 32 | conmin = { git = "https://github.com/jacobwilliams/conmin" } 33 | csv-fortran = { git = "https://github.com/jacobwilliams/csv-fortran" } 34 | daglib = { git = "https://github.com/jacobwilliams/daglib" } 35 | ddeabm = { git = "https://github.com/jacobwilliams/ddeabm" } 36 | dop853 = { git = "https://github.com/jacobwilliams/dop853" } 37 | finterp = { git = "https://github.com/jacobwilliams/finterp" } 38 | fortran-mach = { git = "https://github.com/jacobwilliams/fortran-mach" } 39 | fortran-search-and-sort = { git = "https://github.com/jacobwilliams/fortran-search-and-sort" } 40 | json-fortran = { git = "https://github.com/jacobwilliams/json-fortran" } 41 | lbfgsb = { git = "https://github.com/jacobwilliams/lbfgsb" } 42 | mersenne-twister-fortran = { git = "https://github.com/jacobwilliams/mersenne-twister-fortran" } 43 | nlesolver-fortran = { git = "https://github.com/jacobwilliams/nlesolver-fortran"} 44 | NumDiff = { git = "https://github.com/jacobwilliams/NumDiff" } 45 | optgra = { git = "https://github.com/jacobwilliams/optgra" } 46 | pchip = { git = "https://github.com/jacobwilliams/PCHIP" } 47 | pikaia = { git = "https://github.com/jacobwilliams/pikaia" } 48 | polyroots-fortran = { git = "https://github.com/jacobwilliams/polyroots-fortran" } 49 | popen-fortran = { git = "https://github.com/jacobwilliams/popen-fortran" } 50 | psqp = { git = "https://github.com/jacobwilliams/psqp" } 51 | pyplot-fortran = { git = "https://github.com/jacobwilliams/pyplot-fortran" } 52 | quadpack = { git = "https://github.com/jacobwilliams/quadpack" } 53 | quadrature-fortran = { git = "https://github.com/jacobwilliams/quadrature-fortran" } 54 | regridpack = { git = "https://github.com/jacobwilliams/regridpack" } 55 | rklib = { git = "https://github.com/jacobwilliams/rklib" } 56 | roots-fortran = { git = "https://github.com/jacobwilliams/roots-fortran" } 57 | simulated-annealing = { git = "https://github.com/jacobwilliams/simulated-annealing" } 58 | slsqp = { git = "https://github.com/jacobwilliams/slsqp" } 59 | splpak = { git = "https://github.com/jacobwilliams/splpak" } 60 | stringsort = { git = "https://github.com/jacobwilliams/stringsort" } 61 | uuid-fortran = { git = "https://github.com/jacobwilliams/uuid-fortran" } 62 | -------------------------------------------------------------------------------- /media/fortranpack.logoist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobwilliams/fortranpack/fc527da560b056b7d71ce0fa00edeb75d35ef571/media/fortranpack.logoist -------------------------------------------------------------------------------- /media/fortranpack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobwilliams/fortranpack/fc527da560b056b7d71ce0fa00edeb75d35ef571/media/fortranpack.png -------------------------------------------------------------------------------- /src/fortranpack.f90: -------------------------------------------------------------------------------- 1 | module fortranpack 2 | 3 | use argv_module 4 | use bspline_module 5 | use carlson_elliptic_module 6 | use conmax_module 7 | use conmin_module 8 | use csv_module 9 | use dag_module 10 | use ddeabm_module 11 | use dop853_module 12 | use json_module 13 | use lbfgsb_module 14 | use linear_interpolation_module 15 | use mach_routines 16 | use mt19937_64 17 | use nlesolver_module 18 | use numerical_differentiation_module 19 | use optgra_module 20 | use pchip_module 21 | use pikaia_module 22 | use polyroots_module 23 | use popen_module 24 | use psqp_module 25 | use pyplot_module 26 | use quadpack 27 | use quadrature_module 28 | use regridpack_module 29 | use rklib_module 30 | use root_module 31 | use simulated_annealing_module 32 | use slsqp_module 33 | use sorting_module 34 | use splpak_module 35 | use string_sort_module 36 | use uuid_module 37 | 38 | implicit none 39 | 40 | public 41 | 42 | end module fortranpack 43 | -------------------------------------------------------------------------------- /test/check.f90: -------------------------------------------------------------------------------- 1 | program check 2 | implicit none 3 | 4 | print *, "Put some tests in here!" 5 | end program check 6 | --------------------------------------------------------------------------------