[BACK]Return to pf.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / builtin

Diff for /OpenXM_contrib2/asir2000/builtin/pf.c between version 1.7 and 1.8

version 1.7, 2004/06/22 09:17:21 version 1.8, 2004/06/27 03:15:57
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/builtin/pf.c,v 1.6 2003/02/14 22:29:07 ohara Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/pf.c,v 1.7 2004/06/22 09:17:21 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "math.h"  #include "math.h"
Line 284  Obj *rp;
Line 284  Obj *rp;
         pf = ins->pf; ad = ins->ad; a0 = ad[0].arg; a1 = ad[1].arg;          pf = ins->pf; ad = ins->ad; a0 = ad[0].arg; a1 = ad[1].arg;
         if ( !a1 )          if ( !a1 )
                 *rp = (Obj)ONE;                  *rp = (Obj)ONE;
         else if ( !a0 )          else if ( !a0 ) {
                 *rp = 0;                  if ( RATN(a1) && SGN((Q)a1)>0 )
         else if ( NUM(a1) && INT(a1) )                          *rp = 0;
                   else if ( RATN(a1) && SGN((Q)a1) < 0 )
                           error("simplify_pow : division by 0");
                   else {
                           instov(ins,&v); MKV(v,t); *rp = (Obj)t;
                   }
           } else if ( NUM(a1) && INT(a1) )
                 arf_pwr(CO,a0,a1,rp);                  arf_pwr(CO,a0,a1,rp);
         else {          else {
                 instov(ins,&v); MKV(v,t); *rp = (Obj)t;                  instov(ins,&v); MKV(v,t); *rp = (Obj)t;

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>