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