#include #include #include struct nb_complex { float real; float imaginary; }; typedef struct nb_complex complex; float module(complex z) { return sqrt(pow(z.real, 2) + pow(z.imaginary, 2)); } complex conjugate(complex z) { z.imaginary = -z.imaginary; return z; } complex inverse(complex z) { float a = z.real; float b = z.imaginary; z.real = a/(pow(a, 2) + pow(b, 2)); z.imaginary = -b/(pow(a, 2) + pow(b, 2)); return z; } int main(int argc, char * argv[]) { complex a = {1.0f, 1.0f}; printf("%f\n", module(inverse(a))); return EXIT_SUCCESS; }