1A package to generate Fortran code for the evaluation of bivariate functions.
2Using recursive bisection and lagrane interpolation at padua points, the code
3and necessary tables are being constructed.
4
5The function (f) must be defined in drvrec_mpfr.f90,
6and its domain must be (transformed to) rectangular.
7
8The settings for the bisection, accuracy, ... are set in recurse.f90. Most important
9are the degree of the interpolation, and the target error.
10The actual error is usually smaller than the estimate of the error.
11The degree of the interpolation and the target error influence the size of the tables,
12and speed of evaluation.
13
14The code is interfaced to the arbitrary precision library MPFR, with a convenient Fortran
15wrapper. However, as long as derived type finalization (a Fortran2003 feature) is not available,
16memory is not freed during MPFR math, and thus a significant amount of memory is needed. To reduce the
17impact, drvrec_mpfr has been transformed into a little program, so that the OS frees the memory in between
18calls.
19
20The code for interpolation through the Padua points is based on an older version of Padua2D,
21kindly made available by the authors (Marco Caliari and Marco Vianello and Stefano De Marchi)
22see top of padua2_mpfr.f90 for further credits.
23