Changeset 7447d8 in git for kernel/ffields.cc


Ignore:
Timestamp:
Jul 27, 2005, 5:48:29 PM (19 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
0b5a8b964a0f8ffcf71b80e540492fabe3f379ce
Parents:
7adb161bdb6d1b153d8380ad71f162acf6914d8f
Message:
*hannes: gcc 4 and 64bit


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

Legend:

Unmodified
Added
Removed
  • kernel/ffields.cc

    r7adb161 r7447d8  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ffields.cc,v 1.2 2005-07-27 09:46:20 Singular Exp $ */
     4/* $Id: ffields.cc,v 1.3 2005-07-27 15:48:28 Singular Exp $ */
    55/*
    66* ABSTRACT: finite fields with a none-prime number of elements (via tables)
     
    123123BOOLEAN nfDBTest (number a, char *f, int l)
    124124{
    125   if (((int)a<0) || ((int)a>nfCharQ))
    126   {
    127     Print("wrong %d in %s:%d\n",(int)a,f,l);
     125  if (((long)a<0L) || ((long)a>(long)nfCharQ))
     126  {
     127    Print("wrong %d in %s:%d\n",(int)((long)a),f,l);
    128128    return FALSE;
    129129  }
     
    163163  nfTest(b);
    164164#endif
    165   if (((int)a == nfCharQ) || ((int)b == nfCharQ))
     165  if (((long)a == (long)nfCharQ) || ((long)b == (long)nfCharQ))
    166166    return (number)nfCharQ;
    167167  /*else*/
    168   int i=(int)a+(int)b;
     168  int i=(int)((long)a+(long)b);
    169169  if (i>=nfCharQ1) i-=nfCharQ1;
    170170#ifdef LDEBUG
     
    213213  nfTest(n);
    214214#endif
    215   if(nfCharQ == (int)n) return -1;
    216   return (int)n;
     215  if((long)nfCharQ == (long)n) return -1;
     216  return (int)((long)n);
    217217}
    218218
     
    236236  nfTest(b);
    237237#endif
    238   if (nfCharQ == (int)a) return b;
    239   if (nfCharQ == (int)b) return a;
    240   int zb,zab,r;
    241   if ((int)a >= (int)b)
    242   {
    243     zb = (int)b;
    244     zab = (int)a-(int)b;
     238  if ((long)nfCharQ == (long)a) return b;
     239  if ((long)nfCharQ == (long)b) return a;
     240  long zb,zab,r;
     241  if ((long)a >= (long)b)
     242  {
     243    zb = (long)b;
     244    zab = (long)a-(long)b;
    245245  }
    246246  else
    247247  {
    248     zb = (int)a;
    249     zab = (int)b-(int)a;
     248    zb = (long)a;
     249    zab = (long)b-(long)a;
    250250  }
    251251#ifdef LDEBUG
    252252  nfTest((number)zab);
    253253#endif
    254   if (nfPlus1Table[zab]==nfCharQ) r=nfCharQ; /*if z^(a-b)+1 =0*/
     254  if (nfPlus1Table[zab]==nfCharQ) r=(long)nfCharQ; /*if z^(a-b)+1 =0*/
    255255  else
    256256  {
    257     r= zb+nfPlus1Table[zab];
    258     if(r>=nfCharQ1) r-=nfCharQ1;
     257    r= zb+(long)nfPlus1Table[zab];
     258    if(r>=(long)nfCharQ1) r-=(long)nfCharQ1;
    259259  }
    260260#ifdef LDEBUG
     
    281281  nfTest(a);
    282282#endif
    283   return nfCharQ == (int)a;
     283  return (long)nfCharQ == (long)a;
    284284}
    285285
     
    292292  nfTest(a);
    293293#endif
    294   return 0 == (int)a;
     294  return 0L == (long)a;
    295295}
    296296
     
    303303  nfTest(a);
    304304#endif
    305   if (0 == (int)a) return FALSE; /* special handling of char 2*/
    306   return nfM1 == (int)a;
     305  if (0L == (long)a) return FALSE; /* special handling of char 2*/
     306  return (long)nfM1 == (long)a;
    307307}
    308308
     
    315315  nfTest(b);
    316316#endif
    317   if ((int)b==nfCharQ)
     317  if ((long)b==(long)nfCharQ)
    318318  {
    319319    WerrorS("div. by 0");
    320     return (number)nfCharQ;
    321   }
    322 #ifdef LDEBUG
    323   nfTest(a);
    324 #endif
    325   if ((int)a==nfCharQ)
    326     return (number)nfCharQ;
     320    return (number)((long)nfCharQ);
     321  }
     322#ifdef LDEBUG
     323  nfTest(a);
     324#endif
     325  if ((long)a==(long)nfCharQ)
     326    return (number)((long)nfCharQ);
    327327  /*else*/
    328   int s = (int)a - (int)b;
    329   if (s < 0)
    330     s += nfCharQ1;
     328  long s = (long)a - (long)b;
     329  if (s < 0L)
     330    s += (long)nfCharQ1;
    331331#ifdef LDEBUG
    332332  nfTest((number)s);
     
    343343  nfTest(c);
    344344#endif
    345   if ((int)c==nfCharQ)
     345  if ((long)c==(long)nfCharQ)
    346346  {
    347347    WerrorS("div. 1/0");
    348     return (number)nfCharQ;
    349   }
    350 #ifdef LDEBUG
    351   nfTest(((number)(nfCharQ1-(int)c)));
    352 #endif
    353   return (number)(nfCharQ1-(int)c);
     348    return (number)((long)nfCharQ);
     349  }
     350#ifdef LDEBUG
     351  nfTest(((number)((long)nfCharQ1-(long)c)));
     352#endif
     353  return (number)((long)nfCharQ1-(long)c);
    354354}
    355355
     
    363363  nfTest(c);
    364364#endif
    365   if (nfCharQ == (int)c) return c;
    366   int i=(int)c+nfM1;
    367   if (i>=nfCharQ1) i-=nfCharQ1;
     365  if ((long)nfCharQ == (long)c) return c;
     366  long i=(long)c+(long)nfM1;
     367  if (i>=(long)nfCharQ1) i-=(long)nfCharQ1;
    368368#ifdef LDEBUG
    369369  nfTest((number)i);
     
    381381  nfTest(b);
    382382#endif
    383   return (int)a != (int)b;
     383  return (long)a != (long)b;
    384384}
    385385
     
    393393  nfTest(b);
    394394#endif
    395   return (int)a == (int)b;
     395  return (long)a == (long)b;
    396396}
    397397
     
    404404  nfTest(a);
    405405#endif
    406   if ((int)a==nfCharQ)  StringAppendS("0");
    407   else if ((int)a==0)   StringAppendS("1");
     406  if ((long)a==(long)nfCharQ)  StringAppendS("0");
     407  else if ((long)a==0L)   StringAppendS("1");
    408408  else if (nfIsMOne(a))   StringAppendS("-1");
    409409  else
    410410  {
    411411    StringAppendS(nfParameter);
    412     if ((int)a!=1)
     412    if ((long)a!=1L)
    413413    {
    414414      if(currRing->ShortOut==0)  StringAppendS("^");
    415       StringAppend("%d",(int)a);
     415      StringAppend("%d",(int)((long)a));
    416416    }
    417417  }
     
    427427#endif
    428428  char *s;
    429   if (((int)a==nfCharQ) || ((int)a==0)) return NULL;
    430   else if ((int)a==1)
     429  if (((long)a==(long)nfCharQ) || ((long)a==0L)) return NULL;
     430  else if ((long)a==1L)
    431431  {
    432432    return omStrDup(nfParameter);
     
    435435  {
    436436    s=(char *)omAlloc(4+strlen(nfParameter));
    437     sprintf(s,"%s%d",nfParameter,(int)a);
     437    sprintf(s,"%s%d",nfParameter,(int)((long)a));
    438438  }
    439439  return s;
     
    450450  {
    451451    //*result=nfInit(1);
    452     *result = (number)0;
     452    *result = (number)0L;
    453453  }
    454454  else if (i==1)
     
    688688number nfMapP(number c)
    689689{
    690   return nfInit((int)c);
     690  return nfInit((int)((long)c));
    691691}
    692692
Note: See TracChangeset for help on using the changeset viewer.