Skip to content

Commit 1a591f1

Browse files
committed
Implement conj
1 parent 140df02 commit 1a591f1

25 files changed

+550
-5
lines changed

libc/config/linux/aarch64/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,9 @@ set(TARGET_LIBM_ENTRYPOINTS
366366
libc.src.complex.cimag
367367
libc.src.complex.cimagf
368368
libc.src.complex.cimagl
369+
libc.src.complex.conj
370+
libc.src.complex.conjf
371+
libc.src.complex.conjl
369372

370373
# fenv.h entrypoints
371374
libc.src.fenv.feclearexcept
@@ -617,6 +620,7 @@ if(LIBC_TYPES_HAS_FLOAT16)
617620
# complex.h C23 _Complex _Float16 entrypoints
618621
# libc.src.complex.crealf16
619622
# libc.src.complex.cimagf16
623+
# libc.src.complex.conjf16
620624

621625
# math.h C23 _Float16 entrypoints
622626
libc.src.math.canonicalizef16
@@ -722,6 +726,7 @@ if(LIBC_TYPES_HAS_FLOAT128)
722726
# complex.h C23 _Complex _Float128 entrypoints
723727
libc.src.complex.crealf128
724728
libc.src.complex.cimagf128
729+
libc.src.complex.conjf128
725730

726731
# math.h C23 _Float128 entrypoints
727732
libc.src.math.canonicalizef128

libc/config/linux/arm/entrypoints.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,9 @@ set(TARGET_LIBM_ENTRYPOINTS
207207
libc.src.complex.cimag
208208
libc.src.complex.cimagf
209209
libc.src.complex.cimagl
210+
libc.src.complex.conj
211+
libc.src.complex.conjf
212+
libc.src.complex.conjl
210213

211214
# fenv.h entrypoints
212215
libc.src.fenv.feclearexcept

libc/config/linux/riscv/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,9 @@ set(TARGET_LIBM_ENTRYPOINTS
365365
libc.src.complex.cimag
366366
libc.src.complex.cimagf
367367
libc.src.complex.cimagl
368+
libc.src.complex.conj
369+
libc.src.complex.conjf
370+
libc.src.complex.conjl
368371

369372
# fenv.h entrypoints
370373
libc.src.fenv.feclearexcept
@@ -620,6 +623,7 @@ if(LIBC_TYPES_HAS_FLOAT128)
620623
# complex.h C23 _Complex _Float128 entrypoints
621624
libc.src.complex.crealf128
622625
libc.src.complex.cimagf128
626+
libc.src.complex.conjf128
623627

624628
# math.h C23 _Float128 entrypoints
625629
libc.src.math.canonicalizef128

libc/config/linux/x86_64/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,9 @@ set(TARGET_LIBM_ENTRYPOINTS
366366
libc.src.complex.cimag
367367
libc.src.complex.cimagf
368368
libc.src.complex.cimagl
369+
libc.src.complex.conj
370+
libc.src.complex.conjf
371+
libc.src.complex.conjl
369372

370373
# fenv.h entrypoints
371374
libc.src.fenv.feclearexcept
@@ -622,6 +625,7 @@ if(LIBC_TYPES_HAS_FLOAT16)
622625
# complex.h C23 _Complex _Float16 entrypoints
623626
libc.src.complex.crealf16
624627
libc.src.complex.cimagf16
628+
libc.src.complex.conjf16
625629

626630
# math.h C23 _Float16 entrypoints
627631
libc.src.math.canonicalizef16
@@ -731,6 +735,7 @@ if(LIBC_TYPES_HAS_FLOAT128)
731735
# complex.h C23 _Complex _Float128 entrypoints
732736
# libc.src.complex.crealf128
733737
# libc.src.complex.cimagf128
738+
# libc.src.complex.conjf128
734739

735740
# math.h C23 _Float128 entrypoints
736741
libc.src.math.canonicalizef128

libc/src/complex/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,9 @@ add_complex_entrypoint_object(cimagf)
2424
add_complex_entrypoint_object(cimagl)
2525
add_complex_entrypoint_object(cimagf16)
2626
add_complex_entrypoint_object(cimagf128)
27+
28+
add_complex_entrypoint_object(conj)
29+
add_complex_entrypoint_object(conjf)
30+
add_complex_entrypoint_object(conjl)
31+
add_complex_entrypoint_object(conjf16)
32+
add_complex_entrypoint_object(conjf128)

libc/src/complex/conj.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//===-- Implementation header for conj --------------------------*- C++ -*-===//
2+
//
3+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4+
// See https://llvm.org/LICENSE.txt for license information.
5+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
//
7+
//===----------------------------------------------------------------------===//
8+
9+
#ifndef LLVM_LIBC_SRC_COMPLEX_CONJ_H
10+
#define LLVM_LIBC_SRC_COMPLEX_CONJ_H
11+
12+
#include "src/__support/macros/config.h"
13+
14+
namespace LIBC_NAMESPACE_DECL {
15+
16+
_Complex double conj(_Complex double x);
17+
18+
} // namespace LIBC_NAMESPACE_DECL
19+
20+
#endif // LLVM_LIBC_SRC_COMPLEX_CONJ_H

libc/src/complex/conjf.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//===-- Implementation header for conjf -------------------------*- C++ -*-===//
2+
//
3+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4+
// See https://llvm.org/LICENSE.txt for license information.
5+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
//
7+
//===----------------------------------------------------------------------===//
8+
9+
#ifndef LLVM_LIBC_SRC_COMPLEX_CONJF_H
10+
#define LLVM_LIBC_SRC_COMPLEX_CONJF_H
11+
12+
#include "src/__support/macros/config.h"
13+
14+
namespace LIBC_NAMESPACE_DECL {
15+
16+
_Complex float conjf(_Complex float x);
17+
18+
} // namespace LIBC_NAMESPACE_DECL
19+
20+
#endif // LLVM_LIBC_SRC_COMPLEX_CONJF_H

libc/src/complex/conjf128.h

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//===-- Implementation header for conjf128 ----------------------*- C++ -*-===//
2+
//
3+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4+
// See https://llvm.org/LICENSE.txt for license information.
5+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
//
7+
//===----------------------------------------------------------------------===//
8+
9+
#include "src/__support/macros/properties/complex_types.h"
10+
#include "src/__support/macros/properties/types.h"
11+
12+
#if defined(LIBC_TYPES_HAS_CFLOAT128)
13+
14+
#ifndef LLVM_LIBC_SRC_COMPLEX_CONJF128_H
15+
#define LLVM_LIBC_SRC_COMPLEX_CONJF128_H
16+
17+
#include "src/__support/macros/config.h"
18+
19+
namespace LIBC_NAMESPACE_DECL {
20+
21+
cfloat128 conjf128(cfloat128 x);
22+
23+
} // namespace LIBC_NAMESPACE_DECL
24+
25+
#endif // LLVM_LIBC_SRC_COMPLEX_CONJF128_H
26+
27+
#endif // LIBC_TYPES_HAS_CFLOAT128

libc/src/complex/conjf16.h

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//===-- Implementation header for conjf16 -----------------------*- C++ -*-===//
2+
//
3+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4+
// See https://llvm.org/LICENSE.txt for license information.
5+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
//
7+
//===----------------------------------------------------------------------===//
8+
9+
#include "src/__support/macros/properties/complex_types.h"
10+
#include "src/__support/macros/properties/types.h"
11+
12+
#if defined(LIBC_TYPES_HAS_CFLOAT16)
13+
14+
#ifndef LLVM_LIBC_SRC_COMPLEX_CONJF16_H
15+
#define LLVM_LIBC_SRC_COMPLEX_CONJF16_H
16+
17+
#include "src/__support/macros/config.h"
18+
19+
namespace LIBC_NAMESPACE_DECL {
20+
21+
cfloat16 conjf16(cfloat16 x);
22+
23+
} // namespace LIBC_NAMESPACE_DECL
24+
25+
#endif // LLVM_LIBC_SRC_COMPLEX_CONJF16_H
26+
27+
#endif // LIBC_TYPES_HAS_CFLOAT16

libc/src/complex/conjl.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//===-- Implementation header for conjl -------------------------*- C++ -*-===//
2+
//
3+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4+
// See https://llvm.org/LICENSE.txt for license information.
5+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
//
7+
//===----------------------------------------------------------------------===//
8+
9+
#ifndef LLVM_LIBC_SRC_COMPLEX_CONJL_H
10+
#define LLVM_LIBC_SRC_COMPLEX_CONJL_H
11+
12+
#include "src/__support/macros/config.h"
13+
14+
namespace LIBC_NAMESPACE_DECL {
15+
16+
_Complex long double conjl(_Complex long double x);
17+
18+
} // namespace LIBC_NAMESPACE_DECL
19+
20+
#endif // LLVM_LIBC_SRC_COMPLEX_CONJL_H

0 commit comments

Comments
 (0)