History log of /freebsd-14.2/include/complex.h (Results 1 – 25 of 29)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0
# b3e76948 16-Aug-2023 Warner Losh <[email protected]>

Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# 4d846d26 10-May-2023 Warner Losh <[email protected]>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix

show more ...


Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0
# 046e2d5d 05-Nov-2021 Steve Kargl <[email protected]>

Implementations of cexpl()

The change implements cexpl() for both ld80 and ld128 architectures.
Testing was done on x86_64 and aarch64 systems.

Along the way sincos[fl]() use an optimization that r

Implementations of cexpl()

The change implements cexpl() for both ld80 and ld128 architectures.
Testing was done on x86_64 and aarch64 systems.

Along the way sincos[fl]() use an optimization that reduces the argument
to being done one rather than twice. This optimization actually pointed
to a bug in the ld128 version of sincosl(), which is now fixed. In
addition, the minmax polynomial coefficients for sincosl() have been
updated.

A concise log of the file-by-file changes follows.

* include/complex.h:
. Add a prototype for cexpl().

* lib/msun/Makefile:
. Add s_cexpl.c to the build.
. Setup a link for cexpl.3 to cexp.3.

* lib/msun/Symbol.map:
. Expose cexpl symbol in libm shared library.

* lib/msun/ld128/s_cexpl.c:
* Implementation of cexpl() for 128-bit long double architectures.
Tested on an aarch64 system.

* lib/msun/ld80/s_cexpl.c:
* Implementation of cexpl() for Intel 80-bit long double.

* lib/msun/man/cexp.3:
. Document cexpl().

* lib/msun/man/complex.3:
. Add a BUGS section about cpow[fl].

* lib/msun/src/s_cexp.c:
. Include float.h for weak references on 53-bit long double targets.
. Use sincos() to reduce argument reduction cost.

* lib/msun/src/s_cexpf.c:
. Use sincosf() to reduce argument reduction cost.

* lib/msun/src/k_sincosl.h:
. Catch up with the new minmax polynomial coefficients for the kernel for
the 128-bit cosl() implementation.
. BUG FIX: *cs was used where *sn should have been. This means that sinl()
was no computed correctly when iy != 0.

* lib/msun/src/s_cosl.c:
. Include fpmath.h to get access to IEEEl2bits.
. Replace M_PI_4 with pio4, a 64-bit or 113-bit approximation for pi / 4.

PR: 216862
MFC after: 1 week

show more ...


Revision tags: release/13.0.0, release/12.2.0, release/11.4.0, release/12.1.0
# 11478453 20-Aug-2019 Dimitry Andric <[email protected]>

Vendor import of stripped libc++ trunk r366426 (just before the release_90 branch
point):

https://llvm.org/svn/llvm-project/libcxx/trunk@366426


Revision tags: release/11.3.0, release/12.0.0
# 6813d08f 15-Jul-2018 Matt Macy <[email protected]>

msun: add ld80/ld128 powl, cpow, cpowf, cpowl from openbsd

This corresponds to the latest status (hasn't changed in 9+
years) from openbsd of ld80/ld128 powl, and source cpowf, cpow,
cpowl (the comp

msun: add ld80/ld128 powl, cpow, cpowf, cpowl from openbsd

This corresponds to the latest status (hasn't changed in 9+
years) from openbsd of ld80/ld128 powl, and source cpowf, cpow,
cpowl (the complex power functions for float complex, double
complex, and long double complex) which are required for C99
compliance and were missing from FreeBSD. Also required for
some numerical codes using complex numbered Hamiltonians.

Thanks to jhb for tracking down the issue with making
weak_reference compile on powerpc.

When asked to review, bde said "I don't like it" - but
provided no actionable feedback or superior implementations.

Discussed with: jhb
Submitted by: jmd
Differential Revision: https://reviews.freebsd.org/D15919

show more ...


Revision tags: release/11.2.0
# 0c0288a2 13-May-2018 Konstantin Belousov <[email protected]>

Add implementations for clog(3), clogf(3), and clog(3).

PR: 216863
Submitted by: bde, Steven G. Kargl <[email protected]>
MFC after: 2 weeks


# e58eb3c4 25-Nov-2017 Pedro F. Giffuni <[email protected]>

include: General further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using mis-identified many licenses so this was mostly a manua

include: General further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using mis-identified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

show more ...


Revision tags: release/10.4.0, release/11.1.0
# 507c3d47 18-Feb-2017 Mahdi Mokhtari <[email protected]>

Add new catrigl.c (r313761) APIs to include/complex.h

Reviewed by: bde, emaste
Approved by: bde, emaste (src committers)
Differential Revision: https://reviews.freebsd.org/D9615


Revision tags: release/11.0.1, release/11.0.0, release/10.3.0
# b4c64ad9 30-Dec-2015 Dimitry Andric <[email protected]>

Vendor import of libc++ trunk r256633:
https://llvm.org/svn/llvm-project/libcxx/trunk@256633


Revision tags: release/10.2.0, release/10.1.0, release/9.3.0, release/10.0.0, release/9.2.0, release/8.4.0
# e4afa19c 30-May-2013 David Schultz <[email protected]>

I'm happy to finally commit stephen@'s implementations of cacos,
cacosh, casin, casinh, catan, and catanh. Thanks to stephen@ and bde@
for working on these.

Submitted by: stephen@
Reviewed by: bde


# e814330d 25-May-2013 Ed Schouten <[email protected]>

Add C11 macros CMPLX(), CMPLXF() and CMPLXL().

Clang allows us to initialize complex numbers using an array
initializer, casted to a complex type. GCC has a builtin called
__builtin_complex().


Revision tags: release/9.1.0, release/8.3.0_cvs, release/8.3.0
# 76f11d88 17-Jan-2012 Ed Schouten <[email protected]>

Only use the static assertion when __generic is available.

Reported by: tijl


# ff3e248a 05-Jan-2012 Ed Schouten <[email protected]>

Remove redundant inclusion of <sys/cdefs.h>.

Mea culpa.


# f92d9d7d 05-Jan-2012 Ed Schouten <[email protected]>

Make _Complex_I a proper float _Complex when using GCC 4.2.

It turns out our GCC has quite an interesting bug:

typeof(1.0fi) != float _Complex
typeof((float _Complex)1.0fi) != float _Complex
typ

Make _Complex_I a proper float _Complex when using GCC 4.2.

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

show more ...


Revision tags: release/9.0.0
# 1828c569 22-Nov-2011 David Chisnall <[email protected]>

Import libcxxrt / libc++ into a vendor branch.

Approved by: dim (mentor)


# 3daee1d6 17-Oct-2011 David Schultz <[email protected]>

Add c{cos,sin,tan}{,h}{,f} functions. This is joint work with
bde and kargl.


# cf3943e4 07-Mar-2011 David Schultz <[email protected]>

Add missing declarations that I intended to commit with r219359.
Not sure why we have math.h in lib/msun/ and complex.h in include/.


Revision tags: release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0, release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0
# 5e9470f1 07-Aug-2008 David Schultz <[email protected]>

Implement cproj{,f,l}().


# bda750b4 07-Aug-2008 David Schultz <[email protected]>

Annotate creal(), cimag(), and conj() with __pure2.


# 511dd36b 30-Mar-2008 David Schultz <[email protected]>

Implement csqrtl().


# 84c1c0a1 30-Mar-2008 David Schultz <[email protected]>

Hook hypotl() and cabsl() up to the build.


Revision tags: release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0
# aaf70b23 15-Dec-2007 David Schultz <[email protected]>

Implement and document csqrt(3) and csqrtf(3).


# 205bd648 12-Dec-2007 David Schultz <[email protected]>

Implement carg(3) and cargf(3).

Rotting in an old src tree since: March 2005


Revision tags: release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0, release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0, release/5.3.0_cvs, release/5.3.0
# 4dfac645 14-Aug-2004 Stefan Farfeleder <[email protected]>

Stop defining '_Complex' in a C99 environment, it is supposed to be a keyword.


# 0edc8c86 14-Aug-2004 Stefan Farfeleder <[email protected]>

Use tabulators after '#define'.


12