Changeset d12be8 in git


Ignore:
Timestamp:
Jan 13, 2000, 11:33:19 AM (23 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', '828514cf6e480e4bafc26df99217bf2a1ed1ef45')
Children:
9a8dfb8e4665fff2143b557401c92ff463bf4daf
Parents:
bd38494045e97134c9bfe60e459dbeeda80f1f13
Message:
*hannes: 0^n:=0 fixed


git-svn-id: file:///usr/local/Singular/svn/trunk@4078 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/iparith.cc

    rbd3849 rd12be8  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: iparith.cc,v 1.198 2000-01-11 17:51:15 Singular Exp $ */
     4/* $Id: iparith.cc,v 1.199 2000-01-13 10:33:19 Singular Exp $ */
    55
    66/*
     
    571571  int rc = 1;
    572572  BOOLEAN overflow=FALSE;
    573   if ((e >= 0)&&(b!=0))
    574   {
    575     int oldrc;
    576     while ((e--)!=0)
    577     {
    578       oldrc=rc;
    579       rc *= b;
    580       if (!overflow)
    581       {
    582         if(rc/b!=oldrc) overflow=TRUE;
    583       }
    584     }
    585     if (overflow)
    586       Warn("int overflow(^), result may be wrong");
     573  if (e >= 0)
     574  {
     575    if (b==0)
     576    {
     577      rc=0;
     578    }
     579    else
     580    {
     581      int oldrc;
     582      while ((e--)!=0)
     583      {
     584        oldrc=rc;
     585        rc *= b;
     586        if (!overflow)
     587        {
     588          if(rc/b!=oldrc) overflow=TRUE;
     589        }
     590      }
     591      if (overflow)
     592        WarnS("int overflow(^), result may be wrong");
     593    }
    587594    res->data = (char *)rc;
    588595    if (u!=NULL) return jjOP_REST(res,u,v);
     
    741748  if (((Sy_bit(31)&a)==(Sy_bit(31)&b))&&((Sy_bit(31)&a)!=(Sy_bit(31)&c)))
    742749  {
    743     Warn("int overflow(+), result may be wrong");
     750    WarnS("int overflow(+), result may be wrong");
    744751  }
    745752  return jjPLUSMINUS_Gen(res,u,v);
     
    812819  if (((Sy_bit(31)&a)!=(Sy_bit(31)&b))&&((Sy_bit(31)&a)!=(Sy_bit(31)&c)))
    813820  {
    814     Warn("int overflow(-), result may be wrong");
     821    WarnS("int overflow(-), result may be wrong");
    815822  }
    816823  res->data = (char *)c;
     
    853860  int c=a * b;
    854861  if ((b!=0) && (c/b !=a))
    855     Warn("int overflow(*), result may be wrong");
     862    WarnS("int overflow(*), result may be wrong");
    856863  res->data = (char *)c;
    857864  if ((u->Next()!=NULL) || (v->Next()!=NULL))
Note: See TracChangeset for help on using the changeset viewer.