| //===----------------------------------------------------------------------===// |
| // The LLVM Compiler Infrastructure |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| //===----------------------------------------------------------------------===// |
| // template<Arithmetic T> |
| test(T x, typename std::enable_if<std::is_integral<T>::value>::type* = 0) |
| static_assert((std::is_same<decltype(std::norm(x)), double>::value), ""); |
| assert(std::norm(x) == norm(std::complex<double>(x, 0))); |
| test(T x, typename std::enable_if<!std::is_integral<T>::value>::type* = 0) |
| static_assert((std::is_same<decltype(std::norm(x)), T>::value), ""); |
| assert(std::norm(x) == norm(std::complex<T>(x, 0))); |