/* Read a complex number */ vcomplex * complex_read(FILE *fp) { double real, imag; if (!v_read_double(&real, fp)) return NULL; if (!v_read_double(&imag, fp)) return NULL; return complex_create(real, imag); } /* Write a complex number */ int complex_write(vcomplex *c, FILE *fp) { if (!v_write_double(c->real, fp)) return 0; if (!v_write_double(c->imag, fp)) return 0; return 1; }