15f757f3fSDimitry Andric// -*- C++ -*- 25f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 35f757f3fSDimitry Andric// 45f757f3fSDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 55f757f3fSDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 65f757f3fSDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 75f757f3fSDimitry Andric// 85f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 95f757f3fSDimitry Andric 105f757f3fSDimitry Andricexport namespace std { 115f757f3fSDimitry Andric 125f757f3fSDimitry Andric // [complex], class template complex 135f757f3fSDimitry Andric using std::complex; 145f757f3fSDimitry Andric 155f757f3fSDimitry Andric // [complex.ops], operators 165f757f3fSDimitry Andric using std::operator+; 175f757f3fSDimitry Andric using std::operator-; 185f757f3fSDimitry Andric using std::operator*; 195f757f3fSDimitry Andric using std::operator/; 205f757f3fSDimitry Andric 215f757f3fSDimitry Andric using std::operator==; 225f757f3fSDimitry Andric#ifndef _LIBCPP_HAS_NO_LOCALIZATION 235f757f3fSDimitry Andric using std::operator>>; 245f757f3fSDimitry Andric using std::operator<<; 255f757f3fSDimitry Andric#endif // _LIBCPP_HAS_NO_LOCALIZATION 265f757f3fSDimitry Andric 275f757f3fSDimitry Andric // [complex.value.ops], values 285f757f3fSDimitry Andric using std::imag; 295f757f3fSDimitry Andric using std::real; 305f757f3fSDimitry Andric 315f757f3fSDimitry Andric using std::abs; 325f757f3fSDimitry Andric using std::arg; 335f757f3fSDimitry Andric using std::norm; 345f757f3fSDimitry Andric 355f757f3fSDimitry Andric using std::conj; 365f757f3fSDimitry Andric using std::polar; 375f757f3fSDimitry Andric using std::proj; 385f757f3fSDimitry Andric 395f757f3fSDimitry Andric // [complex.transcendentals], transcendentals 405f757f3fSDimitry Andric using std::acos; 415f757f3fSDimitry Andric using std::asin; 425f757f3fSDimitry Andric using std::atan; 435f757f3fSDimitry Andric 445f757f3fSDimitry Andric using std::acosh; 455f757f3fSDimitry Andric using std::asinh; 465f757f3fSDimitry Andric using std::atanh; 475f757f3fSDimitry Andric 485f757f3fSDimitry Andric using std::cos; 495f757f3fSDimitry Andric using std::cosh; 505f757f3fSDimitry Andric using std::exp; 515f757f3fSDimitry Andric using std::log; 525f757f3fSDimitry Andric using std::log10; 535f757f3fSDimitry Andric 545f757f3fSDimitry Andric using std::pow; 555f757f3fSDimitry Andric 565f757f3fSDimitry Andric using std::sin; 575f757f3fSDimitry Andric using std::sinh; 585f757f3fSDimitry Andric using std::sqrt; 595f757f3fSDimitry Andric using std::tan; 605f757f3fSDimitry Andric using std::tanh; 615f757f3fSDimitry Andric 62*0fca6ea1SDimitry Andric#if _LIBCPP_STD_VER >= 26 63*0fca6ea1SDimitry Andric // [complex.tuple], tuple interface 64*0fca6ea1SDimitry Andric using std::get; 65*0fca6ea1SDimitry Andric using std::tuple_element; 66*0fca6ea1SDimitry Andric using std::tuple_size; 67*0fca6ea1SDimitry Andric#endif 68*0fca6ea1SDimitry Andric 695f757f3fSDimitry Andric // [complex.literals], complex literals 705f757f3fSDimitry Andric inline namespace literals { 715f757f3fSDimitry Andric inline namespace complex_literals { 725f757f3fSDimitry Andric using std::operator""il; 735f757f3fSDimitry Andric using std::operator""i; 745f757f3fSDimitry Andric using std::operator""if; 755f757f3fSDimitry Andric } // namespace complex_literals 765f757f3fSDimitry Andric } // namespace literals 775f757f3fSDimitry Andric 785f757f3fSDimitry Andric} // namespace std 79