#ifndef COMPLEX_H
#define COMPLEX_H

// Definition der Complex-Struktur für komplexe Zahlen
typedef struct {
    double real; // Realteil
    double imag; // Imaginärteil
} Complex;

// Funktionsprototypen für Operationen mit komplexen Zahlen
Complex* createComplex(double real, double imag);                // Erzeugt eine neue komplexe Zahl
void freeComplex(Complex* z);                                    // Gibt den Speicher einer komplexen Zahl frei
Complex* addComplex(const Complex* a, const Complex* b);         // Addition
Complex* subtractComplex(const Complex* a, const Complex* b);    // Subtraktion
Complex* multiplyComplex(const Complex* a, const Complex* b);    // Multiplikation
Complex* divideComplex(const Complex* a, const Complex* b);      // Division
void printComplex(const Complex* z);                             // Ausgabe

#endif
