#include #include #include #include int precision = 8; const int zmaxsize=51; const int cmaxsize=5; int qqq; #include "genprec.h" #include "cgenprec.h" complexmp a,b,c,h; //declare five complex numbers realmp cc,hh,aa; complexmp vec[cmaxsizepad],vec2[cmaxsizepad]; float ar,ai; main() {zsuppi(); //need these for trig operations zsupe(); //need these two for log and exp operations zsuplogsp(); unsigned int i; for (i=0;i<11;i++) {a=i; //this is i,0 printmp(a); } zmessage="a=i"; zbreak(); a=2; //this is 2,0 for (i=0;i<11;i++) {b=a*i; printmp(b); } zmessage="b=2*i"; zbreak(); for (i=0;i<11;i++) {b=a/i; printmp(b); } zmessage="b=2/i"; zbreak(); for (i=0;i<11;i++) {b=i*a; printmp(b); } zmessage="b=i*2"; zbreak(); for (i=0;i<11;i++) {b=i/a; printmp(b); } zmessage="b=i/2"; zbreak(); int j; for (j=-5;j<6;j++) {a=j; //this is j,0 printmp(a); } zmessage="a=j"; zbreak(); a=2; //this is 2,0 for (j=-5;j<6;j++) //hmmmm {b=a*j; printmp(b); } zmessage="b=2*j"; zbreak(); for (j=-5;j<6;j++) {b=a/j; printmp(b); } zmessage="b=2/j"; zbreak(); for (j=-5;j<6;j++) {b=j*a; printmp(b); } zmessage="b=j*2"; zbreak(); for (j=-5;j<6;j++) {b=j/a; printmp(b); } zmessage="b=j/2"; //only this one worked properly zbreak(); a=cfloattomp(1.5E00,2.5E00); cout<<"result of a=cfloattomp(1.5E00,2.5E00)"<<'\n'; printmp(a); cin>>qqq; b=a+1; cout<<"result of b=a+1"<<'\n'; printmp(b); cin>>qqq; b=1+a; cout<<"result of b=1+a"<<'\n'; printmp(b); cin>>qqq; ar=zconmptof(realpartof(a)); ai=zconmptof(imaginarypartof(a)); cout<<"the real and imaginary parts of a in float"<<'\n'; cout<>qqq; aa=pi_mp()/4; a=cexpitheta(aa); cout<<"exp(i*pi/4 should be .707...+ i .707"<<'\n'; printmp(a); cin>>qqq; a=cinttomp(1,2); aa=realpartof(a); cc=imaginarypartof(a); cout<<"a"<<'\n'; cout<<"followed by real part of (1+2i)"<<'\n'; cout<<"followed by imaginary part of (1+2i)"<<'\n'; printmp(a); printmp(aa); printmp(cc); cin>>qqq; b=3*a; cout<<"3*(1+2i)"<<'\n'; printmp(b); b=-3*a; cout<<"-3*(1+2i)"<<'\n'; printmp(b); b=-a*3; cout<<"-(1+2i)*3"<<'\n'; printmp(b); cin>>qqq; a=cinttomp(1,2); b=cinttomp(3,4); cout<<"a="<<'\n'; printmp(a); cout<<"b="<<'\n'; printmp(b); cin>>qqq; c=a+b; cout<<"c=a+b="<<'\n'; printmp(c); c=a-b; cout<<"c=a-b="<<'\n'; printmp(c); c=a*b; cout<<"c=a*b="<<'\n'; printmp(c); cin>>qqq; c=a/b; cout<<"c=a/b="<<'\n'; printmp(c); c=sqrt(a); cout<<"sqrt(a)="<<'\n'; printmp(c); c=c*c; cout<<"that squared= "<<'\n'; printmp(c); cin>>qqq; c=sin(a); //Nov26,99 cout<<"sin(a)= "<<'\n'; printmp(c); h=cos(a); //Nov26,99 cout<<"cos(a)= "<<'\n'; printmp(h); h=h*h + c*c; cout<<"sin^2 + cos^2= "<<'\n'; printmp(h); cin>>qqq; aa=1; cout<<"for aa="<<'\n'; printmp(aa); cc=sinh(aa); //Nov26,99 cout<<"sinh(aa)= "<<'\n'; printmp(cc); hh=cosh(aa); //Nov26,99 cout<<"cosh(aa)= "<<'\n'; printmp(hh); hh=hh*hh - cc*cc; cout<<"cosh^2 - sing^2= "<<'\n'; printmp(hh); cin>>qqq; c=exp(a); //Nov26,99 cout<<"exp(a)= "<<'\n'; printmp(c); c=log(c); //Nov26,99 cout<<"log of that "<<'\n'; printmp(c); c=log(a); //Nov26,99 cout<<"log of a "<<'\n'; printmp(c); c=exp(c); //Nov26,99 cout<<"exp of that "<<'\n'; printmp(c); cin>>qqq; c=arctan(a); //Nov26,99 cout<<"arctan of a"<<'\n'; printmp(c); c=sin(c)/cos(c); //Nov26,99 cout<<"tan=sin/cos of that"<<'\n'; printmp(c); cin>>qqq; aa=3; c=a*aa; cout<<"(1+2i)*real 3"<<'\n'; printmp(c); c=aa*a; cout<<"(real 3 * (1 +2i)"<<'\n'; printmp(c); c=a/aa; cout<<"(1+2i)/real 3"<<'\n'; printmp(c); c=aa/a; cout<<"real 3/(1+2i)=(3-6i)/5"<<'\n'; printmp(c); c=1/a; cout<<"1/(1+2i) = (1-2i)/5"<<'\n'; printmp(c); c=aa+a; cout<<"real 3 + (1+2i) "<<'\n'; printmp(c); c=a+aa; cout<<"(1+2i) + real 3 "<<'\n'; printmp(c); c=aa-a; cout<<"real 3 - (1+2i) "<<'\n'; printmp(c); c=a-aa; cout<<"(1+2i) - real 3 "<<'\n'; printmp(c); cin>>qqq; c=crectopol(a); //Nov26,99 cout<<"(1+2i) in polar"<<'\n'; printmp(c); c=cpoltorec(c); //Nov26,99 cout<<"transform that back to rec"<<'\n'; printmp(c); c=compconj(c); //Nov26,99 cout<<"complex conjugate of that"<<'\n'; printmp(c); cc=abs(c); //Nov26,99 cout<<"absolute value of that"<<'\n'; printmp(cc); cin>>qqq; cout<<"some file examples: "<<'\n'; cin>>qqq; vec[1]=cinttomp(1,1); vec[2]=cinttomp(2,1); vec[3]=cinttomp(3,1); cwrite1Darraytofile(vec,"myfile3.dat"); cread1Darrayfromfile(vec2,"myfile3.dat"); cout<<"should be 1+1,2+i,3+i "<<'\n'; printmp(vec2[1]); printmp(vec2[2]); printmp(vec2[3]); cin>>qqq; return 0; }