What is it?
einspline is a C library for the creation and evaluation of
interpolating cubic basis splines (B-splines) in 1, 2, and 3 dimensions.
Fortran 77 wrappers are also included.
- Basis-splines require storage of only a single coefficient
per mesh point. Standard tricubic spline representation
requires 8 coefficients per mesh point.
- Uses a simple interface to create B-spline objects.
- Supports both uniform and nonuniform grids.
- Uses periodic, fixed first-derivative, or fixed second
derivative boundary conditions.
- Works with four types:
- Single-precision real
- Double-precision real
- Single-precsion complex
- Double-precision complex
- Four evaluation functions per type:
- Value only
- Value and gradient
- Value, gradient, and Laplacian
- Value, gradient, and Hessian matrix
- Hand-coded SSE versions of evaluation routines for high-speed
- SIMD operations to increase FLOPS
- Data-prefetch to reduce memory latency
- Easy installation with autoconf/automake/libtool