aboutsummaryrefslogtreecommitdiff
path: root/include/complex.h
Commit message (Collapse)AuthorAgeFilesLines
* Only use the static assertion when __generic is available.Ed Schouten2012-01-171-0/+3
| | | | | | | Reported by: tijl Notes: svn path=/head/; revision=230278
* Remove redundant inclusion of <sys/cdefs.h>.Ed Schouten2012-01-051-2/+0
| | | | | | | Mea culpa. Notes: svn path=/head/; revision=229594
* Make _Complex_I a proper float _Complex when using GCC 4.2.Ed Schouten2012-01-051-1/+5
| | | | | | | | | | | | | | | | | | | | | It turns out our GCC has quite an interesting bug: typeof(1.0fi) != float _Complex typeof((float _Complex)1.0fi) != float _Complex typeof((float _Complex)1.0i) == float _Complex In other words: if casting to an equal size, GCC seems to take a shortcut. By casting down from a double to a float, GCC doesn't take this shortcut, yielding the proper type. To prevent foot-shooting, add a _Static_assert() to guarantee that _Complex_I is always a float _Complex. I'm not going to MFC this part of the diff. MFC after: 2 weeks Notes: svn path=/head/; revision=229590
* Add c{cos,sin,tan}{,h}{,f} functions. This is joint work withDavid Schultz2011-10-171-1/+13
| | | | | | | bde and kargl. Notes: svn path=/head/; revision=226458
* Add missing declarations that I intended to commit with r219359.David Schultz2011-03-071-0/+2
| | | | | | | Not sure why we have math.h in lib/msun/ and complex.h in include/. Notes: svn path=/head/; revision=219379
* Implement cproj{,f,l}().David Schultz2008-08-071-0/+4
| | | | Notes: svn path=/head/; revision=181377
* Annotate creal(), cimag(), and conj() with __pure2.David Schultz2008-08-071-9/+10
| | | | Notes: svn path=/head/; revision=181375
* Implement csqrtl().David Schultz2008-03-301-0/+2
| | | | Notes: svn path=/head/; revision=177761
* Hook hypotl() and cabsl() up to the build.David Schultz2008-03-301-1/+2
| | | | Notes: svn path=/head/; revision=177760
* Implement and document csqrt(3) and csqrtf(3).David Schultz2007-12-151-1/+3
| | | | Notes: svn path=/head/; revision=174617
* Implement carg(3) and cargf(3).David Schultz2007-12-121-0/+2
| | | | | | | Rotting in an old src tree since: March 2005 Notes: svn path=/head/; revision=174561
* Stop defining '_Complex' in a C99 environment, it is supposed to be a keyword.Stefan Farfeleder2004-08-141-0/+2
| | | | Notes: svn path=/head/; revision=133725
* Use tabulators after '#define'.Stefan Farfeleder2004-08-141-5/+5
| | | | Notes: svn path=/head/; revision=133724
* Add implementations for cimag{,f,l}, creal{,f,l} and conj{,f,l}. They areStefan Farfeleder2004-05-301-6/+12
| | | | | | | | | | needed for cases where GCC's builtin functions cannot be used and for compilers that don't know about them. Approved by: das (mentor) Notes: svn path=/head/; revision=129864
* Remove the macros for creal{,f} and cimag{,f}. They failed to convert theirStefan Farfeleder2004-05-301-7/+0
| | | | | | | | | | | | arguments to the needed type and so the result type depended on the argument type. Fixing them isn't really worth the effort because GCC emits the same assembler code with or without them. Not minded by: ru Approved by: das (mentor) Notes: svn path=/head/; revision=129861
* Breath deep and take __P out of the system include files.Warner Losh2002-03-231-6/+6
| | | | | | | | | # This appears to not break X11, but I'm having problems compiling the # glide part of the server with or without this patch, so I can't tell # for sure. Notes: svn path=/head/; revision=93032
* Added skeleton <complex.h> (aligned with the POSIX.1-200x), mostlyRuslan Ermilov2001-06-131-0/+60
to fix the "-nostdinc WARNS=X" breakage caused by broken prototypes for cabs() and cabsl() in <math.h>. Reimplemented cabs() and cabsl() using new complex numbers types and moved prototypes from <math.h> to <complex.h>. Notes: svn path=/head/; revision=78172