From 22fff3bb87134c8151c5425e596e635aac286d77 Mon Sep 17 00:00:00 2001 From: fredrik Date: Sun, 5 Dec 2021 13:12:11 +0100 Subject: [PATCH] add arb_fpwrap_double_erfinv, arb_fpwrap_double_erfcinv --- arb_fpwrap.h | 3 +++ arb_fpwrap/fpwrap.c | 3 +++ arb_fpwrap/test/t-fpwrap.c | 3 +++ doc/source/arb_fpwrap.rst | 3 +++ 4 files changed, 12 insertions(+) diff --git a/arb_fpwrap.h b/arb_fpwrap.h index 7de8ef53..3741fca5 100644 --- a/arb_fpwrap.h +++ b/arb_fpwrap.h @@ -171,6 +171,9 @@ int arb_fpwrap_cdouble_erfc(complex_double * res, complex_double x, int flags); int arb_fpwrap_double_erfi(double * res, double x, int flags); int arb_fpwrap_cdouble_erfi(complex_double * res, complex_double x, int flags); +int arb_fpwrap_double_erfinv(double * res, double x, int flags); +int arb_fpwrap_double_erfcinv(double * res, double x, int flags); + int arb_fpwrap_double_fresnel_s(double * res, double x, int normalized, int flags); int arb_fpwrap_cdouble_fresnel_s(complex_double * res, complex_double x, int normalized, int flags); diff --git a/arb_fpwrap/fpwrap.c b/arb_fpwrap/fpwrap.c index f14656fd..0384cfa1 100644 --- a/arb_fpwrap/fpwrap.c +++ b/arb_fpwrap/fpwrap.c @@ -1038,6 +1038,9 @@ DEF_CDOUBLE_FUN_1(erfc, acb_hypgeom_erfc) DEF_DOUBLE_FUN_1(erfi, arb_hypgeom_erfi) DEF_CDOUBLE_FUN_1(erfi, acb_hypgeom_erfi) +DEF_DOUBLE_FUN_1(erfinv, arb_hypgeom_erfinv) +DEF_DOUBLE_FUN_1(erfcinv, arb_hypgeom_erfcinv) + static void _arb_hypgeom_fresnel_s(arb_t res, const arb_t x, int normalized, slong prec) { arb_hypgeom_fresnel(res, NULL, x, normalized, prec); } static void _arb_hypgeom_fresnel_c(arb_t res, const arb_t x, int normalized, slong prec) { arb_hypgeom_fresnel(NULL, res, x, normalized, prec); } static void _acb_hypgeom_fresnel_s(acb_t res, const acb_t x, int normalized, slong prec) { acb_hypgeom_fresnel(res, NULL, x, normalized, prec); } diff --git a/arb_fpwrap/test/t-fpwrap.c b/arb_fpwrap/test/t-fpwrap.c index 933237bb..4003d3ae 100644 --- a/arb_fpwrap/test/t-fpwrap.c +++ b/arb_fpwrap/test/t-fpwrap.c @@ -304,6 +304,9 @@ int main() CHECK_DOUBLE(arb_fpwrap_double_erfi(&res, x, flags)); CHECK_CDOUBLE(arb_fpwrap_cdouble_erfi(&cres, cx, flags)); + CHECK_DOUBLE(arb_fpwrap_double_erfinv(&res, x, flags)); + CHECK_DOUBLE(arb_fpwrap_double_erfcinv(&res, x, flags)); + CHECK_DOUBLE(arb_fpwrap_double_fresnel_s(&res, x, 0, flags)); CHECK_CDOUBLE(arb_fpwrap_cdouble_fresnel_s(&cres, cx, 0, flags)); diff --git a/doc/source/arb_fpwrap.rst b/doc/source/arb_fpwrap.rst index ab4c1524..b461b964 100644 --- a/doc/source/arb_fpwrap.rst +++ b/doc/source/arb_fpwrap.rst @@ -284,6 +284,9 @@ Error functions and exponential integrals .. function:: int arb_fpwrap_double_erfi(double * res, double x, int flags) int arb_fpwrap_cdouble_erfi(complex_double * res, complex_double x, int flags) +.. function:: int arb_fpwrap_double_erfinv(double * res, double x, int flags) +.. function:: int arb_fpwrap_double_erfcinv(double * res, double x, int flags) + .. function:: int arb_fpwrap_double_fresnel_s(double * res, double x, int normalized, int flags) int arb_fpwrap_cdouble_fresnel_s(complex_double * res, complex_double x, int normalized, int flags)