CastXML/share/castxml/clang/include/__clang_cuda_complex_builtins.h [39:80]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - __real__(z) = __ac - __bd; __imag__(z) = __ad + __bc; if (std::isnan(__real__(z)) && std::isnan(__imag__(z))) { int __recalc = 0; if (std::isinf(__a) || std::isinf(__b)) { __a = std::copysign(std::isinf(__a) ? 1 : 0, __a); __b = std::copysign(std::isinf(__b) ? 1 : 0, __b); if (std::isnan(__c)) __c = std::copysign(0, __c); if (std::isnan(__d)) __d = std::copysign(0, __d); __recalc = 1; } if (std::isinf(__c) || std::isinf(__d)) { __c = std::copysign(std::isinf(__c) ? 1 : 0, __c); __d = std::copysign(std::isinf(__d) ? 1 : 0, __d); if (std::isnan(__a)) __a = std::copysign(0, __a); if (std::isnan(__b)) __b = std::copysign(0, __b); __recalc = 1; } if (!__recalc && (std::isinf(__ac) || std::isinf(__bd) || std::isinf(__ad) || std::isinf(__bc))) { if (std::isnan(__a)) __a = std::copysign(0, __a); if (std::isnan(__b)) __b = std::copysign(0, __b); if (std::isnan(__c)) __c = std::copysign(0, __c); if (std::isnan(__d)) __d = std::copysign(0, __d); __recalc = 1; } if (__recalc) { // Can't use std::numeric_limits::infinity() -- that doesn't have // a device overload (and isn't constexpr before C++11, naturally). __real__(z) = __builtin_huge_valf() * (__a * __c - __b * __d); __imag__(z) = __builtin_huge_valf() * (__a * __d + __b * __c); } } return z; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CastXML/share/castxml/clang/include/__clang_cuda_complex_builtins.h [90:129]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - __real__(z) = __ac - __bd; __imag__(z) = __ad + __bc; if (std::isnan(__real__(z)) && std::isnan(__imag__(z))) { int __recalc = 0; if (std::isinf(__a) || std::isinf(__b)) { __a = std::copysign(std::isinf(__a) ? 1 : 0, __a); __b = std::copysign(std::isinf(__b) ? 1 : 0, __b); if (std::isnan(__c)) __c = std::copysign(0, __c); if (std::isnan(__d)) __d = std::copysign(0, __d); __recalc = 1; } if (std::isinf(__c) || std::isinf(__d)) { __c = std::copysign(std::isinf(__c) ? 1 : 0, __c); __d = std::copysign(std::isinf(__d) ? 1 : 0, __d); if (std::isnan(__a)) __a = std::copysign(0, __a); if (std::isnan(__b)) __b = std::copysign(0, __b); __recalc = 1; } if (!__recalc && (std::isinf(__ac) || std::isinf(__bd) || std::isinf(__ad) || std::isinf(__bc))) { if (std::isnan(__a)) __a = std::copysign(0, __a); if (std::isnan(__b)) __b = std::copysign(0, __b); if (std::isnan(__c)) __c = std::copysign(0, __c); if (std::isnan(__d)) __d = std::copysign(0, __d); __recalc = 1; } if (__recalc) { __real__(z) = __builtin_huge_valf() * (__a * __c - __b * __d); __imag__(z) = __builtin_huge_valf() * (__a * __d + __b * __c); } } return z; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -