MolSSI Integral Reference Project
boys.h
Go to the documentation of this file.
1 /*! \file
2  *
3  * \brief Calculation of the boys function
4  */
5 
6 #pragma once
7 
8 #include <arb.h>
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 /*! \brief Computes the Boys function using interval arithmetic
15  *
16  * See \ref boys_function
17  *
18  * \warning \p F must be large enough to hold (\p m + 1) values, since
19  * this is computing from zero to m.
20  *
21  * \param [out] F The computed values of the Boys function
22  * \param [in] m The maximum order to calculate
23  * \param [in] t The value at which to evaluate
24  * \param [in] working_prec The working precision (binary digits/bits)
25  * to use in the calculation
26  */
27 void mirp_boys(arb_ptr F, int m, const arb_t t, slong working_prec);
28 
29 
30 /*! \brief Computes the Boys function using interval arithmetic
31  * from string inputs
32  *
33  * \copydetails mirp_boys
34  */
35 void mirp_boys_str(arb_ptr F, int m, const char * t, slong working_prec);
36 
37 
38 /*! \brief Computes the Boys function to exact double precision using
39  * interval arithmetic
40  *
41  * This function takes double precision as input and returns double precision
42  * as output. Internally, it uses interval arithmetic to ensure that no
43  * precision is lost
44  *
45  * \warning \p F must be large enough to hold (\p m + 1) values, since
46  * this is computing from zero to m.
47  *
48  * \param [out] F The computed values of the Boys function
49  * \param [in] m The maximum order to calculate
50  * \param [in] t The value at which to evaluate
51  */
52 void mirp_boys_exact(double *F, int m, double t);
53 
54 
55 #ifdef __cplusplus
56 }
57 #endif
58 
void mirp_boys_str(arb_ptr F, int m, const char *t, slong working_prec)
Computes the Boys function using interval arithmetic from string inputs.
Definition: boys.c:160
void mirp_boys_exact(double *F, int m, double t)
Computes the Boys function to exact double precision using interval arithmetic.
Definition: boys.c:172
void mirp_boys(arb_ptr F, int m, const arb_t t, slong working_prec)
Computes the Boys function using interval arithmetic.
Definition: boys.c:11