Update of /cvsroot/easycalc/easycalc/mlib
In directory sc8-pr-cvs17:/tmp/cvs-serv2636/mlib
Modified Files:
stack.c
Log Message:
One more fix for proper signed integer arithmetic.
Index: stack.c
===================================================================
RCS file: /cvsroot/easycalc/easycalc/mlib/stack.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -C2 -d -r1.39 -r1.40
*** stack.c 22 Aug 2007 19:24:03 -0000 1.39
--- stack.c 22 Aug 2007 19:38:54 -0000 1.40
***************
*** 339,360 ****
cplxarg = (Complex *) arg1;
cplxarg->imag = 0.0;
! if (tmpitem.type==complex)
*cplxarg = *(tmpitem.u.cplxval);
! else if (tmpitem.type==real)
cplxarg->real = tmpitem.u.realval;
! else if (tmpitem.type==integer)
! cplxarg->real = tmpitem.u.intval;
else
err = c_badarg;
} else if (reqtype == real) {
! if (tmpitem.type==real)
! *((double *)arg1)=tmpitem.u.realval;
! else if (tmpitem.type==integer)
! *((double *)arg1)=tmpitem.u.intval;
! else if (tmpitem.type==complex) {
if (IS_ZERO(tmpitem.u.cplxval->imag))
! *((double *)arg1)=tmpitem.u.cplxval->real;
else
! err=c_badarg;
} else
err = c_badarg;
--- 339,360 ----
cplxarg = (Complex *) arg1;
cplxarg->imag = 0.0;
! if (tmpitem.type == complex)
*cplxarg = *(tmpitem.u.cplxval);
! else if (tmpitem.type == real)
cplxarg->real = tmpitem.u.realval;
! else if (tmpitem.type == integer)
! cplxarg->real = (Int32)tmpitem.u.intval;
else
err = c_badarg;
} else if (reqtype == real) {
! if (tmpitem.type == real)
! *((double *)arg1) = tmpitem.u.realval;
! else if (tmpitem.type == integer)
! *((double *)arg1) = (Int32)tmpitem.u.intval;
! else if (tmpitem.type == complex) {
if (IS_ZERO(tmpitem.u.cplxval->imag))
! *((double *)arg1) = tmpitem.u.cplxval->real;
else
! err = c_badarg;
} else
err = c_badarg;
***************
*** 376,380 ****
realarg = tmpitem.u.realval;
if (-2147483648.0 <= realarg && realarg <= 2147483647.0) {
! *((Int32 *)arg1)= tmpitem.u.realval;
}
else
--- 376,380 ----
realarg = tmpitem.u.realval;
if (-2147483648.0 <= realarg && realarg <= 2147483647.0) {
! *((Int32 *)arg1) = tmpitem.u.realval;
}
else
|