MLIR 23.0.0git
Complex.h File Reference

This file contains the declaration of the mlir::NonFloatComplex type and mlir::Complex type alias. More...

#include <complex>
#include <type_traits>

Go to the source code of this file.

Classes

struct  mlir::detail::is_copy_list_initializable< From, To >
class  mlir::NonFloatComplex< T >

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::detail
 AttrTypeReplacer.

Typedefs

template<typename T>
using mlir::Complex

Functions

template<typename From, typename To>
auto mlir::detail::test_copy_list_initializable (int) -> decltype(void(std::declval< To & >()={std::declval< From & >()}), std::true_type{})
template<typename, typename>
auto mlir::detail::test_copy_list_initializable (...) -> std::false_type
template<typename T, typename U>
constexpr NonFloatComplex< T > mlir::operator+ (const NonFloatComplex< T > &x, const U &y)
template<typename T, typename U>
constexpr NonFloatComplex< T > mlir::operator- (const NonFloatComplex< T > &x, const U &y)
template<typename T>
constexpr NonFloatComplex< T > mlir::operator* (const NonFloatComplex< T > &x, const NonFloatComplex< T > &y)
template<typename T, typename U>
constexpr NonFloatComplex< T > mlir::operator* (const NonFloatComplex< T > &x, const U &y)
template<typename T>
constexpr NonFloatComplex< T > mlir::operator/ (const NonFloatComplex< T > &x, const NonFloatComplex< T > &y)
template<typename T, typename U>
constexpr NonFloatComplex< T > mlir::operator/ (const NonFloatComplex< T > &x, const U &y)
template<typename T>
constexpr NonFloatComplex< T > mlir::operator+ (const NonFloatComplex< T > &x)
template<typename T>
constexpr NonFloatComplex< T > mlir::operator- (const NonFloatComplex< T > &x)
template<typename T>
constexpr bool mlir::operator== (const NonFloatComplex< T > &x, const NonFloatComplex< T > &y)
template<typename T, typename U>
constexpr bool mlir::operator== (const NonFloatComplex< T > &x, const U &y)
template<typename T, typename U>
constexpr bool mlir::operator== (const T &x, const NonFloatComplex< U > &y)
template<typename T>
constexpr bool mlir::operator!= (const NonFloatComplex< T > &x, const NonFloatComplex< T > &y)
template<typename T, typename U>
constexpr bool mlir::operator!= (const NonFloatComplex< T > &x, const U &y)
template<typename T, typename U>
constexpr bool mlir::operator!= (const U &x, const NonFloatComplex< T > &y)
template<typename T>
constexpr T mlir::real (const NonFloatComplex< T > &x)
template<typename T>
constexpr T mlir::imag (const NonFloatComplex< T > &x)

Variables

template<typename From, typename To>
constexpr bool mlir::detail::is_copy_list_initializable_v

Detailed Description

This file contains the declaration of the mlir::NonFloatComplex type and mlir::Complex type alias.

The interface is intended to match the std::complex type, and the mlir::Complex alias defers to std::complex for builtin floating point types.

Definition in file Complex.h.