Computational models often require the evaluation of associated Legendre functions with integer order and degree on the real axis and in the complex plane. Many scientific function libraries provide routines for these functions but are sometimes limited to evaluation on the real axis and in limited range. This paper presents a C++ template package, suitable for ExaScale task runtimes, which can be instantiated in a range of floating point formats, to compute on both the real axis and in the complex plane. The code monitors CPU registers for the status of floating point computations.
|Publication status||Accepted - 18 Dec 2020|
- Associated Legendre functions; C++; template meta-programming; real axis; complex plane; Exascale run-time