Files
clang-p2996/flang/runtime/Float128Math/complex-math.c
Slava Zakharin fc51c7f0cc [flang][runtime] Disable LDBL_MANT_DIG == 113 for the offload builds. (#109339)
When compiling on aarch64 some `LDBL_MANT_DIG == 113` entries
end up trying to use `complex<long double>` for which there are
no certain specializations in `libcudacxx`. This change-set
includes a clean-up for `LDBL_MANT_DIG == 113` usage, which is replaced
with `HAS_LDBL128` that is set in `float128.h`.
2024-09-19 15:45:45 -07:00

56 lines
1.9 KiB
C

/*===-- runtime/Float128Math/complex-math.c -------------------------*- C -*-===
*
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
* See https://llvm.org/LICENSE.txt for license information.
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
*
* ===-----------------------------------------------------------------------===
*/
#include "complex-math.h"
#if HAS_LDBL128 || HAS_FLOAT128
CFloat128Type RTDEF(CAbsF128)(CFloat128ComplexType x) { return CAbs(x); }
CFloat128ComplexType RTDEF(CAcosF128)(CFloat128ComplexType x) {
return CAcos(x);
}
CFloat128ComplexType RTDEF(CAcoshF128)(CFloat128ComplexType x) {
return CAcosh(x);
}
CFloat128ComplexType RTDEF(CAsinF128)(CFloat128ComplexType x) {
return CAsin(x);
}
CFloat128ComplexType RTDEF(CAsinhF128)(CFloat128ComplexType x) {
return CAsinh(x);
}
CFloat128ComplexType RTDEF(CAtanF128)(CFloat128ComplexType x) {
return CAtan(x);
}
CFloat128ComplexType RTDEF(CAtanhF128)(CFloat128ComplexType x) {
return CAtanh(x);
}
CFloat128ComplexType RTDEF(CCosF128)(CFloat128ComplexType x) { return CCos(x); }
CFloat128ComplexType RTDEF(CCoshF128)(CFloat128ComplexType x) {
return CCosh(x);
}
CFloat128ComplexType RTDEF(CExpF128)(CFloat128ComplexType x) { return CExp(x); }
CFloat128ComplexType RTDEF(CLogF128)(CFloat128ComplexType x) { return CLog(x); }
CFloat128ComplexType RTDEF(CPowF128)(
CFloat128ComplexType x, CFloat128ComplexType p) {
return CPow(x, p);
}
CFloat128ComplexType RTDEF(CSinF128)(CFloat128ComplexType x) { return CSin(x); }
CFloat128ComplexType RTDEF(CSinhF128)(CFloat128ComplexType x) {
return CSinh(x);
}
CFloat128ComplexType RTDEF(CSqrtF128)(CFloat128ComplexType x) {
return CSqrt(x);
}
CFloat128ComplexType RTDEF(CTanF128)(CFloat128ComplexType x) { return CTan(x); }
CFloat128ComplexType RTDEF(CTanhF128)(CFloat128ComplexType x) {
return CTanh(x);
}
#endif // HAS_LDBL128 || HAS_FLOAT128