xref: /freebsd/contrib/llvm-project/libcxx/modules/std/complex.inc (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
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