• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..23-Dec-2019-

MakefileH A D23-Dec-20192.5 KiB9457

READMEH A D23-Dec-20191.2 KiB2318

drvrec_mpfr.f90H A D23-Dec-20193.9 KiB13080

evalf.f90H A D23-Dec-2019769 3324

function_types.f90H A D23-Dec-2019264 93

functions.f90H A D23-Dec-20192.5 KiB8658

kinds.f90H A D23-Dec-201965 41

mpfr.f90H A D23-Dec-201957.1 KiB2,0541,633

mpfr_cutoff_gamma.f90H A D23-Dec-2019198 KiB2,6452,603

mpfr_yukawa.f90H A D23-Dec-2019979.2 KiB11,77611,725

padua2_mpfr.f90H A D23-Dec-20199.2 KiB267135

recurse.f90H A D23-Dec-201924.4 KiB561335

tester.f90H A D23-Dec-20192.5 KiB8964

README

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