13 !is_same_v<T, complex64_t> && is_convertible_v<T, float>;
17 !is_same_v<T, complex64_t> &&
18 (is_convertible_v<float, T> || is_convertible_v<bfloat16_t, T>);
30 typename =
typename enable_if<can_convert_to_complex64<T>>::type>
35 typename =
typename enable_if<can_convert_to_complex64<T>>::type>
40 typename =
typename enable_if<can_convert_to_complex64<T>>::type>
45 typename =
typename enable_if<can_convert_to_complex64<T>>::type>
51 typename =
typename enable_if<can_convert_from_complex64<T>>::type>
52 constexpr operator T() const thread {
53 return static_cast<T
>(
real);
58 typename =
typename enable_if<can_convert_from_complex64<T>>::type>
59 constexpr operator T() const threadgroup {
60 return static_cast<T
>(
real);
65 typename =
typename enable_if<can_convert_from_complex64<T>>::type>
66 constexpr operator T() const device {
67 return static_cast<T
>(
real);
72 typename =
typename enable_if<can_convert_from_complex64<T>>::type>
73 constexpr operator T() const constant {
74 return static_cast<T
>(
real);
118 return {x / denom, y / denom};
124 if (real != 0 && (real < 0 != b.
real < 0)) {
127 if (imag != 0 && (imag < 0 != b.
imag < 0)) {
constexpr complex64_t(T x) const ant
Definition complex.h:46
constexpr complex64_t(T x) thread
Definition complex.h:31
constexpr complex64_t(T x) threadgroup
Definition complex.h:36
float imag
Definition complex.h:22
float real
Definition complex.h:21
constexpr complex64_t(T x) device
Definition complex.h:41
constexpr complex64_t(float real, float imag)
Definition complex.h:25