typedef struct _fcomplex{ |
double x; /* real part */ |
double y; /* imag part */ |
} fcomplex; |
fcomplex cadd(fcomplex a, fcomplex b){ |
fcomplex c; |
c.x = a.x + b.x; |
c.y = a.y + b.y; |
return(c); |
} |
fcomplex csub(fcomplex a, fcomplex b){ |
fcomplex c; |
c.x = a.x - b.x; |
c.y = a.y - b.y; |
return(c); |
} |
fcomplex cmulti(fcomplex a, fcomplex b){ |
fcomplex c; |
c.x = a.x * b.x - a.y * b.y; |
c.y = a.x * b.y + a.y * b.x; |
return(c); |
} |
fcomplex cdiv(fcomplex a, fcomplex b){ |
fcomplex c; |
double blen; |
blen = b.x * b.x + b.y * b.y; |
c.x = a.x * b.x + a.y * b.y; |
c.y = a.y * b.x - a.x * b.y; |
c.x /= blen; |
c.y /= blen; |
return(c); |
} |