"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/complex.c" between
grpn-1.5.1.tar.gz and grpn-1.5.2.tar.gz

About: grpn is a RPN calcuator for real and complex numbers (requires GTK).

complex.c  (grpn-1.5.1):complex.c  (grpn-1.5.2)
skipping to change at line 343 skipping to change at line 343
mulEqReal(r1, r2); mulEqReal(r1, r2);
freeReal(r2); freeReal(r2);
return r1; return r1;
} }
Real * thetaCmplx(Cmplx *a){ Real * thetaCmplx(Cmplx *a){
int sign_re; int sign_re;
Real *r1, *r2; Real *r1;
Real *theta; Real *theta;
r2 = atanEqReal(divReal(a->im, a->re)); r1 = atanEqReal(divReal(a->im, a->re));
sign_re = cmpReal(a->re, realZero); sign_re = cmpReal(a->re, realZero);
if(0 == sign_re){ if(0 == sign_re){
/* -90 deg */ /* -90 deg */
if(-1 == cmpReal(a->im, realZero)) if(-1 == cmpReal(a->im, realZero))
theta = setRealDouble(newReal(), -M_PI/2.0); theta = setRealDouble(newReal(), -M_PI/2.0);
else /* 90 deg */ else /* 90 deg */
theta = setRealDouble(newReal(), M_PI/2.0); theta = setRealDouble(newReal(), M_PI/2.0);
freeReal(r2); freeReal(r1);
} }
/* quadrant 2 and 3 */ /* quadrant 2 and 3 */
else if(-1 == sign_re){ else if(-1 == sign_re){
/* quad 3 */ /* quad 3 */
if(-1 == cmpReal(a->im, realZero)) if(-1 == cmpReal(a->im, realZero))
theta = subEqReal(r2, realPi); theta = subEqReal(r1, realPi);
else /* quad 2 */ else /* quad 2 */
theta = addEqReal(r2, realPi); theta = addEqReal(r1, realPi);
} }
/* quadrant 1 and 4 */ /* quadrant 1 and 4 */
else{ else{
theta = r2; theta = r1;
} }
return theta; return theta;
} }
Cmplx * rectCmplx(Cmplx *a){ Cmplx * rectCmplx(Cmplx *a){
Real *r1, *r2; Real *r1, *r2;
Cmplx *p = newCmplx(); Cmplx *p = newCmplx();
r1 = cosReal(a->im); r1 = cosReal(a->im);
skipping to change at line 460 skipping to change at line 460
freeReal(r2); freeReal(r2);
return a; return a;
} }
/***************** TRIG *************************/ /***************** TRIG *************************/
Cmplx * sinCmplx(Cmplx *a){ Cmplx * sinCmplx(Cmplx *a){
Real *r1; Real *r1;
Cmplx *p; Cmplx *p;
Cmplx *c1, *c2, *c3, *c4, *c5; Cmplx *c1, *c2, *c4, *c5;
c1 = mulCmplx(cmplxI, a); c1 = mulCmplx(cmplxI, a);
c2 = expCmplx(c1); c2 = expCmplx(c1);
negEqCmplx(c1); negEqCmplx(c1);
c4 = expCmplx(c1); c4 = expCmplx(c1);
c5 = subCmplx(c2, c4); c5 = subCmplx(c2, c4);
freeCmplx(c1); freeCmplx(c1);
freeCmplx(c2); freeCmplx(c2);
skipping to change at line 628 skipping to change at line 628
freeReal(r7); freeReal(r7);
freeReal(rsq); freeReal(rsq);
return p; return p;
} }
/*************** MULTIPLY **********************/ /*************** MULTIPLY **********************/
/* multiply 2 Cmplx numbers */ /* multiply 2 Cmplx numbers */
Cmplx * mulCmplx(Cmplx *a, Cmplx *b){ Cmplx * mulCmplx(Cmplx *a, Cmplx *b){
Real *r1, *r2, *r3, *r4, *r5, *r6; Real *r1, *r2, *r3, *r4;
Cmplx *p = newCmplx(); Cmplx *p = newCmplx();
r1 = mulReal(a->re, b->re); r1 = mulReal(a->re, b->re);
r2 = mulReal(a->im, b->im); r2 = mulReal(a->im, b->im);
r3 = mulReal(a->re, b->im); r3 = mulReal(a->re, b->im);
r4 = mulReal(a->im, b->re); r4 = mulReal(a->im, b->re);
p->re = subEqReal(r1, r2); p->re = subEqReal(r1, r2);
p->im = addEqReal(r3, r4); p->im = addEqReal(r3, r4);
 End of changes. 8 change blocks. 
8 lines changed or deleted 8 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)