/* This code is for testing the dcomplex functions */
/* dcomplex_test.c - Ch Iossif @ April 2006 */

#include <stdio.h>
#include "dcomplex.h"

int main() {
    dcomplex a,b,c,d;
    double e;

    a=dcmplx(1,1);
    b=dcmplx(2,-2);
    c=dcmplx_add(a,b);
    printf("(%lf%+lfi) + (%lf%+lfi) = (%lf%+lfi)\n",a.real,a.imag,b.real,b.imag,c.real,c.imag);
    d=dcmplx_sub(c,b);
    printf("(%lf%+lfi) - (%lf%+lfi) = (%lf%+lfi)\n",c.real,c.imag,b.real,b.imag,d.real,d.imag);
    c=dcmplx_mul(a,b);
    printf("(%lf%+lfi) * (%lf%+lfi) = (%lf%+lfi)\n",a.real,a.imag,b.real,b.imag,c.real,c.imag);
    d=dcmplx_div(c,b);
    printf("(%lf%+lfi) / (%lf%+lfi) = (%lf%+lfi)\n",c.real,c.imag,b.real,b.imag,d.real,d.imag);
    c=dcmplx_sqr(a);
    printf("(%lf%+lfi) ^2 = (%lf%+lfi)\n",a.real,a.imag,c.real,c.imag);

    e=dcmplx_abs(a);
    printf("|(%lf%+lfi)| = %lf\n",a.real,a.imag,e);
    printf("(%lf%+lfi) = (%lf%+lfi)\n",a.real,a.imag,dcmplx_real(a),dcmplx_imag(a));
    return 0;
}

