From 94612a0be0e691d68bcd27a33e529ad30fa3df43 Mon Sep 17 00:00:00 2001 From: hachem Date: Sat, 29 Aug 2026 03:55:18 +0200 Subject: add: complex numbers --- src/maths/complex.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/maths/complex.h (limited to 'src/maths/complex.h') diff --git a/src/maths/complex.h b/src/maths/complex.h new file mode 100644 index 0000000..c94f64a --- /dev/null +++ b/src/maths/complex.h @@ -0,0 +1,28 @@ +#pragma once + +struct PsiComplex +{ + double real; + double imaginary; +}; + +struct PsiComplex psi_new_complex(double real, double imaginary); +struct PsiComplex psi_new_complex_from_real(double real); + +struct PsiComplex psi_conjugate_complex(struct PsiComplex z); +struct PsiComplex psi_neg_complex(struct PsiComplex z); + +double psi_phase_complex(struct PsiComplex z); +double psi_norm2_complex(struct PsiComplex z); +double psi_abs_complex(struct PsiComplex z); +struct PsiComplex psi_sqrt_complex(struct PsiComplex z); + +struct PsiComplex psi_add_complex(struct PsiComplex a, struct PsiComplex b); +struct PsiComplex psi_sub_complex(struct PsiComplex a, struct PsiComplex b); +struct PsiComplex psi_mul_complex(struct PsiComplex a, struct PsiComplex b); +struct PsiComplex psi_div_complex(struct PsiComplex a, struct PsiComplex b); + +struct PsiComplex psi_add_complex_real(struct PsiComplex a, double b); +struct PsiComplex psi_sub_complex_real(struct PsiComplex a, double b); +struct PsiComplex psi_mul_complex_real(struct PsiComplex a, double b); +struct PsiComplex psi_div_complex_real(struct PsiComplex a, double b); -- cgit v1.3