Release Cosmopolitan v3.3

This change upgrades to GCC 12.3 and GNU binutils 2.42. The GNU linker
appears to have changed things so that only a single de-duplicated str
table is present in the binary, and it gets placed wherever the linker
wants, regardless of what the linker script says. To cope with that we
need to stop using .ident to embed licenses. As such, this change does
significant work to revamp how third party licenses are defined in the
codebase, using `.section .notice,"aR",@progbits`.

This new GCC 12.3 toolchain has support for GNU indirect functions. It
lets us support __target_clones__ for the first time. This is used for
optimizing the performance of libc string functions such as strlen and
friends so far on x86, by ensuring AVX systems favor a second codepath
that uses VEX encoding. It shaves some latency off certain operations.
It's a useful feature to have for scientific computing for the reasons
explained by the test/libcxx/openmp_test.cc example which compiles for
fifteen different microarchitectures. Thanks to the upgrades, it's now
also possible to use newer instruction sets, such as AVX512FP16, VNNI.

Cosmo now uses the %gs register on x86 by default for TLS. Doing it is
helpful for any program that links `cosmo_dlopen()`. Such programs had
to recompile their binaries at startup to change the TLS instructions.
That's not great, since it means every page in the executable needs to
be faulted. The work of rewriting TLS-related x86 opcodes, is moved to
fixupobj.com instead. This is great news for MacOS x86 users, since we
previously needed to morph the binary every time for that platform but
now that's no longer necessary. The only platforms where we need fixup
of TLS x86 opcodes at runtime are now Windows, OpenBSD, and NetBSD. On
Windows we morph TLS to point deeper into the TIB, based on a TlsAlloc
assignment, and on OpenBSD/NetBSD we morph %gs back into %fs since the
kernels do not allow us to specify a value for the %gs register.

OpenBSD users are now required to use APE Loader to run Cosmo binaries
and assimilation is no longer possible. OpenBSD kernel needs to change
to allow programs to specify a value for the %gs register, or it needs
to stop marking executable pages loaded by the kernel as mimmutable().

This release fixes __constructor__, .ctor, .init_array, and lastly the
.preinit_array so they behave the exact same way as glibc.

We no longer use hex constants to define math.h symbols like M_PI.
This commit is contained in:
Justine Tunney 2024-02-20 11:12:09 -08:00
parent d3ff48c63f
commit 957c61cbbf
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
736 changed files with 13726 additions and 9445 deletions

View file

@ -0,0 +1,2 @@
DisableFormat: true
SortIncludes: Never

View file

@ -28,12 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/k_exp.c */
/*-

View file

@ -28,12 +28,8 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("freebsd_libm_notice");
__static_yoink("musl_libc_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/k_expf.c */
/*-

View file

@ -26,7 +26,6 @@
*/
#include "libc/tinymath/internal.h"
// clang-format off
double __math_divzero(uint32_t sign)
{

View file

@ -26,7 +26,6 @@
*/
#include "libc/tinymath/internal.h"
// clang-format off
float __math_divzerof(uint32_t sign)
{

View file

@ -26,7 +26,6 @@
*/
#include "libc/tinymath/internal.h"
// clang-format off
double __math_invalid(double x)
{

View file

@ -26,7 +26,6 @@
*/
#include "libc/tinymath/internal.h"
// clang-format off
float __math_invalidf(float x)
{

View file

@ -26,7 +26,6 @@
*/
#include "libc/tinymath/internal.h"
// clang-format off
dontinstrument double __math_oflow(uint32_t sign)
{

View file

@ -26,7 +26,6 @@
*/
#include "libc/tinymath/internal.h"
// clang-format off
dontinstrument float __math_oflowf(uint32_t sign)
{

View file

@ -26,7 +26,6 @@
*/
#include "libc/tinymath/internal.h"
// clang-format off
dontinstrument double __math_uflow(uint32_t sign)
{

View file

@ -26,7 +26,6 @@
*/
#include "libc/tinymath/internal.h"
// clang-format off
dontinstrument float __math_uflowf(uint32_t sign)
{

View file

@ -26,7 +26,6 @@
*/
#include "libc/tinymath/internal.h"
// clang-format off
dontinstrument double __math_xflow(uint32_t sign, double y)
{

View file

@ -26,7 +26,6 @@
*/
#include "libc/tinymath/internal.h"
// clang-format off
dontinstrument float __math_xflowf(uint32_t sign, float y)
{

View file

@ -27,11 +27,9 @@
*/
#include "libc/math.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
__static_yoink("fdlibm_notice");
__static_yoink("freebsd_libm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/e_acos.c */
/*

View file

@ -28,11 +28,9 @@
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
__static_yoink("fdlibm_notice");
__static_yoink("freebsd_libm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/e_acosf.c */
/*

View file

@ -26,12 +26,7 @@
*/
#include "libc/math.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
/**
* Returns inverse hyperbolic cosine of 𝑥.

View file

@ -26,12 +26,7 @@
*/
#include "libc/math.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
/**
* Returns inverse hyperbolic cosine of 𝑥.

View file

@ -39,15 +39,8 @@
#include "libc/math.h"
#include "libc/tinymath/freebsd.internal.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
asm(".ident\t\"\\n\\n\
FreeBSD libm (BSD-2 License)\\n\
Copyright (c) 2005-2011, Bruce D. Evans, Steven G. Kargl, David Schultz.\"");
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("fdlibm_notice");
__static_yoink("freebsd_libm_notice");
/* EXP_LARGE is the threshold above which we use acosh(x) ~= log(2x). */
#if LDBL_MANT_DIG == 64

View file

@ -29,15 +29,8 @@
#include "libc/tinymath/invtrigl.internal.h"
#include "libc/tinymath/ldshape.internal.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("fdlibm_notice");
__static_yoink("musl_libc_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/e_acosl.c */
/*

View file

@ -26,12 +26,9 @@
*/
#include "libc/math.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("fdlibm_notice");
__static_yoink("musl_libc_notice");
__static_yoink("freebsd_libm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/e_asin.c */
/*

View file

@ -28,14 +28,9 @@
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("fdlibm_notice");
__static_yoink("musl_libc_notice");
__static_yoink("freebsd_libm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/e_asinf.c */
/*

View file

@ -28,12 +28,7 @@
#include "libc/math.h"
#include "libc/tinymath/feval.internal.h"
#include "libc/tinymath/freebsd.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
/**
* Returns inverse hyperbolic sine of 𝑥.

View file

@ -27,12 +27,7 @@
*/
#include "libc/math.h"
#include "libc/tinymath/feval.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
/**
* Returns inverse hyperbolic sine of 𝑥.

View file

@ -38,16 +38,11 @@
*/
#include "libc/math.h"
#include "libc/tinymath/freebsd.internal.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
asm(".ident\t\"\\n\\n\
FreeBSD libm (BSD-2 License)\\n\
Copyright (c) 2005-2011, Bruce D. Evans, Steven G. Kargl, David Schultz.\"");
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("fdlibm_notice");
__static_yoink("freebsd_libm_notice");
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
/* EXP_LARGE is the threshold above which we use asinh(x) ~= log(2x). */
/* EXP_TINY is the threshold below which we use asinh(x) ~= x. */

View file

@ -30,15 +30,8 @@
#include "libc/tinymath/invtrigl.internal.h"
#include "libc/tinymath/ldshape.internal.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("fdlibm_notice");
__static_yoink("musl_libc_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/e_asinl.c */
/*

View file

@ -27,15 +27,8 @@
*/
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
__static_yoink("fdlibm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_atan.c */
/*

View file

@ -38,14 +38,8 @@
#include "libc/math.h"
#include "libc/tinymath/freebsd.internal.h"
asm(".ident\t\"\\n\\n\
FreeBSD libm (BSD-2 License)\\n\
Copyright (c) 2005-2011, Bruce D. Evans, Steven G. Kargl, David Schultz.\"");
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("fdlibm_notice");
__static_yoink("freebsd_libm_notice");
/* atan2(y,x)
* Method :

View file

@ -29,12 +29,7 @@
#include "libc/math.h"
#include "libc/tinymath/atanf_common.internal.h"
#include "libc/tinymath/internal.h"
asm(".ident\t\"\\n\\n\
Optimized Routines (MIT License)\\n\
Copyright 2022 ARM Limited\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("arm_optimized_routines_notice");
#define Pi (0x1.921fb6p+1f)
#define PiOver2 (0x1.921fb6p+0f)

View file

@ -30,15 +30,9 @@
#include "libc/tinymath/invtrigl.internal.h"
#include "libc/tinymath/ldshape.internal.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
__static_yoink("musl_libc_notice");
__static_yoink("fdlibm_notice");
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
/* origin: FreeBSD /usr/src/lib/msun/src/e_atan2l.c */
/*

View file

@ -4,7 +4,6 @@
#include "libc/tinymath/estrin_wrap.internal.h"
#include "libc/tinymath/horner.internal.h"
COSMOPOLITAN_C_START_
// clang-format off
/*
* Double-precision polynomial evaluation function for scalar and vector atan(x)

View file

@ -27,12 +27,6 @@
*/
#include "libc/tinymath/atan_data.internal.h"
asm(".ident\t\"\\n\\n\
Optimized Routines (MIT License)\\n\
Copyright 2022 ARM Limited\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
const struct atan_poly_data __atan_poly_data = {
.poly = {/* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on
[2**-1022, 1.0]. See atan.sollya for details of how these were

View file

@ -27,15 +27,8 @@
*/
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
__static_yoink("fdlibm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_atanf.c */
/*

View file

@ -4,7 +4,6 @@
#include "libc/tinymath/estrin_wrap.internal.h"
#include "libc/tinymath/hornerf.internal.h"
COSMOPOLITAN_C_START_
// clang-format off
#if WANT_VMATH

View file

@ -27,12 +27,6 @@
*/
#include "libc/tinymath/atanf_data.internal.h"
asm(".ident\t\"\\n\\n\
Optimized Routines (MIT License)\\n\
Copyright 2022 ARM Limited\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
/* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on [2**-128, 1.0].
*/
const struct atanf_poly_data __atanf_poly_data = {

View file

@ -27,12 +27,7 @@
*/
#include "libc/math.h"
#include "libc/tinymath/feval.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
/**
* Returns inverse hyperbolic tangent of 𝑥.

View file

@ -27,12 +27,7 @@
*/
#include "libc/math.h"
#include "libc/tinymath/feval.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
/**
* Returns inverse hyperbolic tangent of 𝑥.

View file

@ -29,12 +29,7 @@
#include "libc/tinymath/feval.internal.h"
#include "libc/tinymath/ldshape.internal.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
/**
* Returns inverse hyperbolic tangent of 𝑥.

View file

@ -29,15 +29,8 @@
#include "libc/tinymath/internal.h"
#include "libc/tinymath/ldshape.internal.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
__static_yoink("fdlibm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_atanl.c */
/*

View file

@ -28,12 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
// FIXME: Hull et al. "Implementing the complex arcsine and arccosine functions using exception handling" 1997

View file

@ -28,12 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
// FIXME

View file

@ -28,12 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
/* acosh(z) = i acos(z) */
double complex cacosh(double complex z)

View file

@ -28,12 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
float complex cacoshf(float complex z)
{

View file

@ -28,12 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
long double complex cacoshl(long double complex z)
{

View file

@ -26,12 +26,7 @@
*/
#include "libc/complex.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
long double complex cacosl(long double complex z) {
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024

View file

@ -28,12 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
// FIXME

View file

@ -28,14 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
// FIXME

View file

@ -28,14 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
/* asinh(z) = -i asin(i z) */

View file

@ -28,14 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
float complex casinhf(float complex z)
{

View file

@ -26,12 +26,7 @@
*/
#include "libc/complex.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
long double complex casinhl(long double complex z) {
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024

View file

@ -27,12 +27,7 @@
*/
#include "libc/complex.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
long double complex casinl(long double complex z)
{

View file

@ -28,16 +28,8 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
OpenBSD libm (ISC License)\\n\
Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
__static_yoink("openbsd_libm_notice");
/* origin: OpenBSD /usr/src/lib/libm/src/s_catan.c */
/*
@ -99,7 +91,6 @@ asm(".include \"libc/disclaimer.inc\"");
* 2.9e-17. See also clog().
*/
#define MAXNUM 1.0e308
static const double DP1 = 3.14159265160560607910E0;

View file

@ -28,16 +28,8 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
OpenBSD libm (ISC License)\\n\
Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
__static_yoink("openbsd_libm_notice");
/* origin: OpenBSD /usr/src/lib/libm/src/s_catanf.c */
/*

View file

@ -28,14 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
/* atanh = -i atan(i z) */

View file

@ -28,14 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
float complex catanhf(float complex z)
{

View file

@ -26,12 +26,7 @@
*/
#include "libc/complex.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
long double complex catanhl(long double complex z) {
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024

View file

@ -22,15 +22,8 @@
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
asm(".ident\t\"\\n\\n\
OpenBSD libm (ISC License)\\n\
Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("openbsd_libm_notice");
__static_yoink("musl_libc_notice");
/*
* Complex circular arc tangent

View file

@ -26,15 +26,9 @@
*/
#include "libc/math.h"
__static_yoink("musl_libc_notice");
__static_yoink("fdlibm_notice");
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
/* origin: FreeBSD /usr/src/lib/msun/src/s_cbrt.c */
/*

View file

@ -26,15 +26,9 @@
*/
#include "libc/math.h"
__static_yoink("musl_libc_notice");
__static_yoink("fdlibm_notice");
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
/* origin: FreeBSD /usr/src/lib/msun/src/s_cbrtf.c */
/*

View file

@ -28,17 +28,9 @@
#include "libc/math.h"
#include "libc/tinymath/ldshape.internal.h"
asm(".ident\t\"\\n\\n\
FreeBSD libm (BSD-2 License)\\n\
Copyright (c) 2005-2011, Bruce D. Evans, Steven G. Kargl, David Schultz.\"");
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("fdlibm_notice");
__static_yoink("musl_libc_notice");
__static_yoink("freebsd_libm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_cbrtl.c */
/*-

View file

@ -17,8 +17,11 @@
PERFORMANCE OF THIS SOFTWARE.
*/
#include "libc/complex.h"
#include "libc/math.h"
double complex ccos(double complex z) {
return ccosh(CMPLX(-cimag(z), creal(z)));
}
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
__weak_reference(ccos, ccosl);
#endif

View file

@ -28,14 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
float complex ccosf(float complex z)
{

View file

@ -29,14 +29,8 @@
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
FreeBSD libm (BSD-2 License)\\n\
Copyright (c) 2005-2011, Bruce D. Evans, Steven G. Kargl, David Schultz.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
__static_yoink("freebsd_libm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_ccosh.c */
/*-

View file

@ -29,14 +29,8 @@
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
FreeBSD libm (BSD-2 License)\\n\
Copyright (c) 2005-2011, Bruce D. Evans, Steven G. Kargl, David Schultz.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
__static_yoink("freebsd_libm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_ccoshf.c */
/*-

View file

@ -26,12 +26,7 @@
*/
#include "libc/complex.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
//FIXME
long double complex ccoshl(long double complex z)

View file

@ -26,17 +26,11 @@
*/
#include "libc/complex.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
__static_yoink("musl_libc_notice");
long double complex ccosl(long double complex z) {
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
return ccos(z);
#else
return ccoshl(CMPLXL(-cimagl(z), creall(z)));
#endif
}
#endif

View file

@ -31,12 +31,7 @@
#ifndef __llvm__
#include "third_party/intel/smmintrin.internal.h"
#endif
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
#if FLT_EVAL_METHOD==0 || FLT_EVAL_METHOD==1
#define EPS DBL_EPSILON

View file

@ -30,12 +30,7 @@
#ifndef __llvm__
#include "third_party/intel/smmintrin.internal.h"
#endif
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
/**
* Returns smallest integral value not less than 𝑥.

View file

@ -28,12 +28,7 @@
#include "libc/math.h"
#include "libc/tinymath/internal.h"
#include "libc/tinymath/ldshape.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
/**
* Returns smallest integral value not less than 𝑥.

View file

@ -28,13 +28,8 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("freebsd_libm_notice");
__static_yoink("musl_libc_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_cexp.c */
/*-

View file

@ -28,13 +28,8 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("freebsd_libm_notice");
__static_yoink("musl_libc_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_cexpf.c */
/*-

View file

@ -26,12 +26,7 @@
*/
#include "libc/complex.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
//FIXME
long double complex cexpl(long double complex z)

View file

@ -28,14 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
// FIXME
@ -49,3 +42,7 @@ double complex clog(double complex z)
phi = carg(z);
return CMPLX(log(r), phi);
}
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
__weak_reference(clog, clogl);
#endif

View file

@ -28,14 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
// FIXME

View file

@ -27,21 +27,10 @@
*/
#include "libc/complex.h"
#include "libc/math.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
#include "libc/tinymath/complex.internal.h"
__static_yoink("musl_libc_notice");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
long double complex clogl(long double complex z)
{
return clog(z);
}
#else
// FIXME
long double complex clogl(long double complex z)
{
long double r, phi;
@ -49,4 +38,5 @@ long double complex clogl(long double complex z)
phi = cargl(z);
return CMPLXL(logl(r), phi);
}
#endif

View file

@ -28,15 +28,8 @@
#include "libc/math.h"
#include "libc/tinymath/feval.internal.h"
#include "libc/tinymath/kernel.internal.h"
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
__static_yoink("fdlibm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_cos.c */
/*

View file

@ -27,15 +27,9 @@
*/
#include "libc/math.h"
#include "libc/tinymath/kernel.internal.h"
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("freebsd_libm_notice");
__static_yoink("musl_libc_notice");
__static_yoink("fdlibm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/k_cosf.c */
/*

View file

@ -29,15 +29,10 @@
#include "libc/tinymath/complex.internal.h"
#include "libc/tinymath/feval.internal.h"
#include "libc/tinymath/kernel.internal.h"
__static_yoink("freebsd_libm_notice");
__static_yoink("musl_libc_notice");
__static_yoink("fdlibm_notice");
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
/* origin: FreeBSD /usr/src/lib/msun/src/s_cosf.c */
/*

View file

@ -28,12 +28,7 @@
#include "libc/math.h"
#include "libc/tinymath/expo.internal.h"
#include "libc/tinymath/feval.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
/**
* Returns hyperbolic cosine of 𝑥.

View file

@ -28,12 +28,7 @@
#include "libc/math.h"
#include "libc/tinymath/expo.internal.h"
#include "libc/tinymath/feval.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
/**
* Returns hyperbolic cosine of 𝑥.

View file

@ -38,16 +38,11 @@
*/
#include "libc/math.h"
#include "libc/tinymath/freebsd.internal.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
asm(".ident\t\"\\n\\n\
FreeBSD libm (BSD-2 License)\\n\
Copyright (c) 2005-2011, Bruce D. Evans, Steven G. Kargl, David Schultz.\"");
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("fdlibm_notice");
__static_yoink("freebsd_libm_notice");
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
#if LDBL_MAX_EXP != 0x4000
/* We also require the usual expsign encoding. */

View file

@ -30,12 +30,7 @@
#include "libc/tinymath/kernel.internal.h"
#include "libc/tinymath/ldshape.internal.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
/**
* Returns cosine of 𝑥.

View file

@ -26,18 +26,15 @@
*/
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
/* pow(z, c) = exp(c log(z)), See C99 G.6.4.1 */
double complex cpow(double complex z, double complex c)
{
return cexp(c * clog(z));
}
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
__weak_reference(cpow, cpowl);
#endif

View file

@ -28,14 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
float complex cpowf(float complex z, float complex c)
{

View file

@ -26,21 +26,12 @@
*/
#include "libc/complex.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
__static_yoink("musl_libc_notice");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
long double complex cpowl(long double complex z, long double complex c)
{
return cpow(z, c);
}
#else
long double complex cpowl(long double complex z, long double complex c)
{
return cexpl(c * clogl(z));
}
#endif

View file

@ -28,19 +28,15 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
/* sin(z) = -i sinh(i z) */
double complex csin(double complex z)
{
z = csinh(CMPLX(-cimag(z), creal(z)));
return CMPLX(cimag(z), -creal(z));
}
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
__weak_reference(csin, csinl);
#endif

View file

@ -28,12 +28,8 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
__static_yoink("musl_libc_notice");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */

View file

@ -29,15 +29,8 @@
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
FreeBSD libm (BSD-2 License)\\n\
Copyright (c) 2005-2011, Bruce D. Evans, Steven G. Kargl, David Schultz.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
__static_yoink("freebsd_libm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_csinh.c */
/*-

View file

@ -29,14 +29,8 @@
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
FreeBSD libm (BSD-2 License)\\n\
Copyright (c) 2005-2011, Bruce D. Evans, Steven G. Kargl, David Schultz.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
__static_yoink("freebsd_libm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_csinhf.c */
/*-

View file

@ -26,12 +26,7 @@
*/
#include "libc/complex.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
//FIXME
long double complex csinhl(long double complex z)

View file

@ -26,22 +26,13 @@
*/
#include "libc/complex.h"
#if !(LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024)
__static_yoink("musl_libc_notice");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
long double complex csinl(long double complex z)
{
return csin(z);
}
#else
long double complex csinl(long double complex z)
{
z = csinhl(CMPLXL(-cimagl(z), creall(z)));
return CMPLXL(cimagl(z), -creall(z));
}
#endif

View file

@ -28,12 +28,8 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("freebsd_libm_notice");
__static_yoink("musl_libc_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_csqrt.c */
/*-

View file

@ -28,13 +28,8 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("freebsd_libm_notice");
__static_yoink("musl_libc_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_csqrtf.c */
/*-

View file

@ -26,12 +26,7 @@
*/
#include "libc/complex.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
//FIXME
long double complex csqrtl(long double complex z)

View file

@ -28,14 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
/* tan(z) = -i tanh(i z) */

View file

@ -28,14 +28,7 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
float complex ctanf(float complex z)
{

View file

@ -28,16 +28,8 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
ctahnh (BSD-2 License)\\n\
Copyright (c) 2011 David Schultz <das@FreeBSD.ORG>\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("freebsd_libm_notice");
__static_yoink("musl_libc_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_ctanh.c */
/*-

View file

@ -28,13 +28,8 @@
#include "libc/complex.h"
#include "libc/math.h"
#include "libc/tinymath/complex.internal.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("freebsd_libm_notice");
__static_yoink("musl_libc_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_ctanhf.c */
/*-

View file

@ -26,12 +26,7 @@
*/
#include "libc/complex.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
// clang-format off
__static_yoink("musl_libc_notice");
//FIXME
long double complex ctanhl(long double complex z)

View file

@ -26,12 +26,7 @@
*/
#include "libc/complex.h"
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
long double complex ctanl(long double complex z)

View file

@ -26,15 +26,8 @@
*/
#include "libc/math.h"
asm(".ident\t\"\\n\\n\
fdlibm (fdlibm license)\\n\
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\"");
asm(".ident\t\"\\n\\n\
Musl libc (MIT License)\\n\
Copyright 2005-2014 Rich Felker, et. al.\"");
asm(".include \"libc/disclaimer.inc\"");
/* clang-format off */
__static_yoink("musl_libc_notice");
__static_yoink("fdlibm_notice");
/* origin: FreeBSD /usr/src/lib/msun/src/s_erf.c */
/*

Some files were not shown because too many files have changed in this diff Show more