X-Git-Url: http://nsz.repo.hu/git/?p=libm;a=blobdiff_plain;f=src%2Fcmath%2Fcatanh.c;fp=src%2Fcmath%2Fcatanh.c;h=5545747b04d9ead61402062d0c05ae3cd9ba6415;hp=0000000000000000000000000000000000000000;hb=1eb8d023d8b5c286908af676cb405a2ba598d286;hpb=b4018200e9a60ffbf055ea91a476609c50527552 diff --git a/src/cmath/catanh.c b/src/cmath/catanh.c new file mode 100644 index 0000000..5545747 --- /dev/null +++ b/src/cmath/catanh.c @@ -0,0 +1,47 @@ +/* origin: OpenBSD /usr/src/lib/libm/src/s_catanh.c */ +/* + * Copyright (c) 2008 Stephen L. Moshier + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +/* + * Complex inverse hyperbolic tangent + * + * + * SYNOPSIS: + * + * double complex catanh(); + * double complex z, w; + * + * w = catanh (z); + * + * + * DESCRIPTION: + * + * Inverse tanh, equal to -i catan (iz); + * + * ACCURACY: + * + * Relative error: + * arithmetic domain # trials peak rms + * IEEE -10,+10 30000 2.3e-16 6.2e-17 + * + */ + +#include "libm.h" + +double complex catanh(double complex z) +{ + // FIXME: -i, reeval + return -1.0 * I * catan(z * I); +}