Changeset 794463 in git for kernel


Ignore:
Timestamp:
Mar 14, 2011, 5:01:43 PM (13 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '2a584933abf2a2d3082034c7586d38bb6de1a30a')
Children:
1cf7b9bbd183bcd5847750fc6d151b0c10cd0b98
Parents:
60dcbbcf58b25703c21825b7ca27f49816799c04
Message:
nlGcd for -2^28

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

Legend:

Unmodified
Added
Removed
  • kernel/longrat.cc

    r60dcbbc r794463  
    10381038      j=l;
    10391039    } while (l!=0L);
    1040     return INT_TO_SR(i);
     1040    if (i==POW_2_28)
     1041      result=nlRInit(POW_2_28);
     1042    else
     1043     result=INT_TO_SR(i);
     1044    nlTest(result);
     1045    return result;
    10411046  }
    10421047  if (((!(SR_HDL(a) & SR_INT))&&(a->s<2))
     
    10441049  if (SR_HDL(a) & SR_INT)
    10451050  {
    1046     unsigned long t=mpz_gcd_ui(NULL,b->z,ABS(SR_TO_INT(a)));
    1047     return INT_TO_SR(t);
     1051    LONG aa=ABS(SR_TO_INT(a));
     1052    unsigned long t=mpz_gcd_ui(NULL,b->z,(long)aa);
     1053    if (t==POW_2_28)
     1054      result=nlRInit(POW_2_28);
     1055    else
     1056     result=INT_TO_SR(t);
     1057    nlTest(result);
    10481058  }
    10491059  else
    10501060  if (SR_HDL(b) & SR_INT)
    10511061  {
    1052     unsigned long t=mpz_gcd_ui(NULL,a->z,ABS(SR_TO_INT(b)));
    1053     return INT_TO_SR(t);
     1062    LONG bb=ABS(SR_TO_INT(b));
     1063    unsigned long t=mpz_gcd_ui(NULL,a->z,(long)bb);
     1064    if (t==POW_2_28)
     1065      result=nlRInit(POW_2_28);
     1066    else
     1067     result=INT_TO_SR(t);
     1068    nlTest(result);
    10541069  }
    10551070  else
     
    10631078  #endif
    10641079    result=nlShort3(result);
    1065   }
    1066   nlTest(result);
     1080    nlTest(result);
     1081  }
    10671082  return result;
    10681083}
Note: See TracChangeset for help on using the changeset viewer.