This is test.c in view mode; [Download] [Up]
#include <math.h> #include </musr/H/complexf.h> main() { complex a,b,c,dummy,xcmplx(),cexp(),divide(); /*cmplx(0.,-1.,a); b = a * c; multiply(a,xcmplx(c,0.),b); b = cexp(a); prtcmplx(b); cmplx(2.,0.,a); multiply(a,b,c); prtcmplx(c); cmplx(3.,0.,a); cmplx(4.,0.,b); multiply(a,b,c); prtcmplx(c);*/ cmplx(1,-2,a); cmplx(3,-4,b); c=divide(a,b); prtcmplx(c); } complex xcmplx(a,b) float a,b; { complex c; cmplx(a,b,c); return(c); } complex cexp(a) complex a; { complex b; b.re = exp(a.re) * cos(a.im); b.im = exp(a.im) * sin(a.im); return(b); } complex divide(a,b) complex a,b; { complex c,d,e,f; conjugate(b,c); multiply(a,c,d); multiply(b,c,e); f.re = d.re/e.re; f.im = d.im/e.re; /*prtcmplx(a); prtcmplx(b); prtcmplx(c); prtcmplx(d); prtcmplx(e); prtcmplx(f);*/ } complex mult(a,b) complex a,b; { complex c; c.re = a.re * b.re - a.im * b.im; c.im = a.re * b.im + a.im * b.re return(c); } complex add(x,y) complex x,y; { complex z; z.re = x.re + y.re; z.im = x.im + y.im; return(z); } complex subtract(x,y) complex x,y; { complex z; z.re = x.re - y.re; z.im = x.im - y.im; return(z); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.