summaryrefslogtreecommitdiff
path: root/lib/libm/complex
AgeCommit message (Collapse)Author
2017-09-27Mention tgmath cproj, creal, cabsmaya
following copysign example use of "real-floating" with "complex-floating"
2017-05-07Add the imprecise catrigl functions back.christos
2017-05-07mention why we don't support this (yet)christos
2017-01-01compare to zero, instead of using signbit, and be more specific in comment.maya
-0.0 > 0 is also false. no functional change. while this is mostly a change to be consistent in style (the rest of the comparisons aren't done with signbit), it is also a micro-optimization. with our default compile flags, calls to copysign are libm calls (and a whole function call!!). this generates more efficient code.
2016-12-31similar to csqrt, spare ourselves a fabsf call. we already check signmaya
later on, use this to our advantage. No functional change.
2016-12-31csqrt has a branch cut on the negative real axis, and this requiresmaya
delicacy in order to maintain continuity around it. we have an initial case to deal with a fairly common case: getting a real number. Avoid dealing with the branch cut in this case by checking if the real part is negative. later, -0.0 < 0 is not met, so instead, test for a negative number using signbit, so negative zero is also treated as a negative number. Fixes last part of PR lib/51427: libm issues triggered by py-numpy ok riastradh
2016-12-31Spare ourselves a fabs call. We already check the sign later.maya
w = r + y*I is the same as w = r because this is the y == 0 case. no functional change.
2016-09-20fix VAX!christos
2016-09-19Add the complex trig functions from FreeBSDchristos
2014-10-11namespace protectionchristos
2014-10-10try to make vax work.christos
2014-10-10use long constantchristos
2014-10-10whitespacechristos
2014-10-10copy&pastomartin
2014-10-10Add missing catanh variant (and readd it to the Makefile list)martin
2014-10-10Add cimag (apparently accidently dropped in previous revision and reorg)martin
2014-10-10Add the missing complex functions.christos
2013-03-14Remove unknown .LP macro.njoly
2013-01-29Document long double versions of these routines.matt
2012-12-27Convert to mdoc and fix stuff while here.wiz
2011-11-29fix minor typodrochner
2011-11-02Fix the vax build under gcc-4.5 which now detects that floating constantschristos
don't fit or are effectively 0.
2011-07-03use DBL_MAX and FLT_MAX from <float.h> instead of hard coding some ieeefp ↵mrg
values.
2011-03-18Add missing MLINKS. From Stathis Kamperis.joerg
2011-03-02PR/44663: Corinna Vinschen: Fix misplaced parenthesis that produces the wrongchristos
result.
2010-09-20deal with infinity on the vax.christos
2010-09-20no more ieee ifdefschristos
2010-09-20get rid of ieee dependencies.christos
2010-09-20shouldn't need ieee.h here.christos
2010-09-17don't compile long double support for the havenots.christos
2010-09-15Remove trailing whitespace.wiz
2010-09-15Commit SoC long double support from Stathis Kamperischristos
2009-08-03As noticed by Stathis Kamperis, the original implementation does notdrochner
always return the correct principal value (with real>=0). (eg cacosh(ccos(1.0I)) was -1) Replace by a more ground-up one which should do better.
2008-03-08fix so that it doesn't interact strangely with ARCH_SRCS definitionsdrochner
in the base Makefile, makes the lib built correctly again for eg amd64 (seen by wiz)
2008-02-20Add manpages for the complex math functions, originally from SUSv3,drochner
roff source from the Linux documentation project. Modifications before import: -added NetBSD RCS ID -removed Linux PROLOG and declarations with "long double" -ran the "deshallify" script as required by The Open Group Split out complex related things into an own Makefile fragment. Thanks to hubertf for directions.
2007-08-20Add C99 complex support, for double and float.drochner
Most complex function implementations are from the "c9x-complex" library, originating from the "cephes" math library, see http://www.netlib.org/cephes/, from Stephen L. Moshier, incorporated and redistributed with the NetBSD license by permission of the author. Error behaviour and other boundary conditions (branch cuts) need to be looked at. For namespace sanity, I've done the rename/weak alias procedure to most of the exported functions which are also used internally. Didn't do so for sin/cos(f) yet because assembler implementations use them directly, and renaming functions shared between the main libm and the machine specific "overlay" might raise binary compatibility issues.