37 lines
784 B
C
37 lines
784 B
C
#include <stdio.h>
|
|
|
|
typedef struct {double re, im;} cplx;
|
|
|
|
cplx csum (cplx a, cplx b) // Complex sum
|
|
{
|
|
cplx sum;
|
|
sum.re = a.re + b.re;
|
|
sum.im = a.im + b.im;
|
|
return sum;
|
|
}
|
|
|
|
cplx cdif (cplx a, cplx b) // Complex difference
|
|
{
|
|
cplx difference;
|
|
difference.re = a.re - b.re;
|
|
difference.im = a.im - b.im;
|
|
return difference;
|
|
}
|
|
|
|
cplx cprod (cplx a, cplx b) // Complex product
|
|
{
|
|
cplx product;
|
|
product.re = (a.re * b.re) - (a.im * b.im);
|
|
product.im = (a.im * b.re) + (a.re * b.im);
|
|
return product;
|
|
}
|
|
|
|
cplx cquo (cplx a, cplx b) // Complex quotient
|
|
{
|
|
cplx quotient;
|
|
quotient.re = ((a.re * b.re)+(a.im * b.im)) / ((b.re*b.re)+(b.im*b.im));
|
|
quotient.im = ((a.im * b.re)-(a.re * b.im)) / ((b.re*b.re)+(b.im*b.im));
|
|
return quotient;
|
|
}
|
|
|