xref: /llvm-project/libc/include/llvm-libc-macros/complex-macros.h (revision f4ba6a654dd962aed45710fa049539537cf1f24c)
1*f4ba6a65SShourya Goel //===-- Definition of macros to be used with complex functions ------------===//
2*f4ba6a65SShourya Goel //
3*f4ba6a65SShourya Goel // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*f4ba6a65SShourya Goel // See https://llvm.org/LICENSE.txt for license information.
5*f4ba6a65SShourya Goel // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*f4ba6a65SShourya Goel //
7*f4ba6a65SShourya Goel //===----------------------------------------------------------------------===//
8*f4ba6a65SShourya Goel 
9*f4ba6a65SShourya Goel #ifndef __LLVM_LIBC_MACROS_COMPLEX_MACROS_H
10*f4ba6a65SShourya Goel #define __LLVM_LIBC_MACROS_COMPLEX_MACROS_H
11*f4ba6a65SShourya Goel 
12*f4ba6a65SShourya Goel #ifndef __STDC_NO_COMPLEX__
13*f4ba6a65SShourya Goel 
14*f4ba6a65SShourya Goel #define __STDC_VERSION_COMPLEX_H__ 202311L
15*f4ba6a65SShourya Goel 
16*f4ba6a65SShourya Goel #define complex _Complex
17*f4ba6a65SShourya Goel #define _Complex_I ((_Complex float)1.0fi)
18*f4ba6a65SShourya Goel #define I _Complex_I
19*f4ba6a65SShourya Goel 
20*f4ba6a65SShourya Goel // TODO: Add imaginary macros once GCC or Clang support _Imaginary builtin-type.
21*f4ba6a65SShourya Goel 
22*f4ba6a65SShourya Goel #endif
23*f4ba6a65SShourya Goel 
24*f4ba6a65SShourya Goel #endif // __LLVM_LIBC_MACROS_COMPLEX_MACROS_H
25