You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-11Lines changed: 12 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,9 +9,11 @@ Multidimensional B-Spline Interpolation of Data on a Regular Grid
9
9
10
10
# Brief description
11
11
12
-
The library provides subroutines for 1D-6D interpolation using b-splines. The code is written in modern Fortran (i.e., Fortran 2003+).
12
+
The library provides subroutines for 1D-6D interpolation using B-splines. The code is written in modern Fortran (i.e., Fortran 2003+). There are two ways to use the module, via a basic subroutine interface and an object-oriented interface. Both are thread safe.
13
13
14
-
The core routines are:
14
+
## Subroutine interface
15
+
16
+
The core routines for the subroutine interface are:
The ```ink``` routines compute the interpolant coefficients, and the ```val``` routines evalute the interpolant at the specified value of each coordinate. Eventually, object-oriented wrappers will be created for these routines for ease of use. The 2D and 3D routines are extensively refactored versions of the original routines from the [NIST Core Math Library](http://www.nist.gov/itl/math/mcsd-software.cfm). The others are new, and are simply extensions of the same algorithm into higher dimensions.
45
+
The ```ink``` routines compute the interpolant coefficients, and the ```val``` routines evalute the interpolant at the specified value of each coordinate. Eventually, object-oriented wrappers will be created for these routines for ease of use. The 2D and 3D routines are extensively refactored versions of the original routines from the [NIST Core Math Library](http://www.nist.gov/itl/math/mcsd-software.cfm). The others are new, and are simply extensions of the same algorithm into the other dimensions.
46
+
47
+
## Object-oriented interface
44
48
45
-
In addition to the main subroutines, an object-oriented wrapper is also provided. For example, for the 3D case:
49
+
In addition to the main subroutines, an object-oriented interface is also provided. For example, for the 3D case:
Which uses the default "not-a-knot" end conditions. You can also specify the knot vectors (in this case, `tx`, `ty`, and `tz`) manually during class initialization via:
57
+
Which uses the default "not-a-knot" end conditions. You can also specify the knot vectors (in this case, `tx`, `ty`, and `tz`) manually during class initialization:
See the [examples](https://github.com/jacobwilliams/bspline-fortran/tree/master/src/tests) for more details.
63
64
64
65
# Compiling
65
66
66
-
A simple bash script ```build.sh``` is provided for building bspline-fortran with gfortran using [FoBiS](https://github.com/szaghi/FoBiS). It also builds the API documentation using [FORD](https://github.com/cmacmackin/ford).
67
+
A simple bash script ```build.sh``` is provided for building bspline-fortran with gfortran using [FoBiS](https://github.com/szaghi/FoBiS). It also builds the API documentation using [FORD](https://github.com/cmacmackin/ford). The library can also be compiled with the Intel Fortran Compiler (and presumably any other Fortran compiler that supports modern standards).
67
68
68
69
# Documentation
69
70
70
-
The latest API documentation can be found [here](http://jacobwilliams.github.io/bspline-fortran/). This was generated using [FORD](https://github.com/cmacmackin/ford).
71
+
The latest API documentation can be found [here](http://jacobwilliams.github.io/bspline-fortran/). This was generated from the source code using [FORD](https://github.com/cmacmackin/ford) (note that the build script will also generate these files).
0 commit comments