Changeset 17e692 in git for Singular/ring.cc


Ignore:
Timestamp:
Mar 8, 1999, 7:11:50 PM (25 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
2a10547f349f40ba3e6a890b93b03d6cb4b37f52
Parents:
be0d84532eb45d49b654745e810a1a7a534d71ff
Message:
*hannes: use rPar if possible


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

Legend:

Unmodified
Added
Removed
  • Singular/ring.cc

    rbe0d84 r17e692  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ring.cc,v 1.43 1999-02-10 16:00:04 Singular Exp $ */
     4/* $Id: ring.cc,v 1.44 1999-03-08 18:11:50 Singular Exp $ */
    55
    66/*
     
    6767
    6868    /*------------ global variables related to coefficients ------------*/
    69     nSetChar(r->ch, complete, r->parameter, r->P);
     69    nSetChar(r->ch, complete, r->parameter, rPar(r));
    7070
    7171    /*------------ global variables related to polys -------------------*/
     
    161161      if ((rg->parameter!=NULL) && (rg->ch<2))
    162162      {
    163         for (i=0;i<rg->P;i++)
     163        for (i=0;i<rPar(rg);i++)
    164164        {
    165165          if(strlen(rg->parameter[i])>1)
     
    731731
    732732
    733   if ((r->parameter!=NULL)&&(r->ch>1))
     733  if (rField_is_GF(r))
    734734    PrintS("//   # ground field : ");
    735735  else
    736736    PrintS("//   characteristic : ");
    737   if (r->ch==-1)     PrintS("0 (real)\n");  /* R */
    738   else if (r->ch<0)  Print ("%d\n",-r->ch); /* Fp(a) */
    739   else if (r->ch==1) PrintS("0\n");         /* Q(a)  */
    740   else               Print ("%d\n",r->ch);  /* Fq, Fp, Q */
     737  if ( rField_is_R(r) )        PrintS("0 (real)\n");  /* R */
     738  else Print ("%d\n",rChar(r)); /* Fp(a) */
    741739  if (r->parameter!=NULL)
    742740  {
     
    746744      char **sp=r->parameter;
    747745      int nop=0;
    748       while (nop<r->P)
     746      while (nop<rPar(r))
    749747      {
    750748        PrintS(*sp);
     
    926924        int len=0;
    927925        char **s=r->parameter;
    928         while (len<r->P)
     926        while (len<rPar(r))
    929927        {
    930928          FreeL((ADDRESS)*s);
     
    932930          len++;
    933931        }
    934         Free((ADDRESS)r->parameter,r->P*sizeof(char *));
     932        Free((ADDRESS)r->parameter,rPar(r)*sizeof(char *));
    935933      }
    936934      Free((ADDRESS)r->VarOffset, (r->N +1)*sizeof(int));
     
    12061204  }
    12071205  int l=0;
    1208   for(i=0; i<r->P;i++)
     1206  for(i=0; i<rPar(r);i++)
    12091207  {
    12101208    l+=(strlen(r->parameter[i])+1);
     
    12221220  tt[0]=',';
    12231221  tt[1]='\0';
    1224   for(i=0; i<r->P;i++)
     1222  for(i=0; i<rPar(r);i++)
    12251223  {
    12261224    strcat(s,tt);
     
    12371235  int l=2;
    12381236
    1239   for (i=0; i<r->P; i++)
     1237  for (i=0; i<rPar(r); i++)
    12401238  {
    12411239    l+=strlen(r->parameter[i])+1;
     
    12431241  char *s=(char *)AllocL(l);
    12441242  s[0]='\0';
    1245   for (i=0; i<r->P-1; i++)
     1243  for (i=0; i<rPar(r)-1; i++)
    12461244  {
    12471245    strcat(s,r->parameter[i]);
     
    13131311  memset(&tmpR,0,sizeof(tmpR));
    13141312  /* check coeff. field =====================================================*/
    1315   if (r1->ch==r2->ch)
    1316   {
    1317     tmpR.ch=r1->ch;
    1318     if ((r1->ch==0)||(r1->ch>=2)) /* Q, Z/p, GF(p,n) */
     1313  if (rInternalChar(r1)==rInternalChar(r2))
     1314  {
     1315    tmpR.ch=rInternalChar(r1);
     1316    if (rField_is_Q(r1)||rField_is_Zp(r1)||rField_is_GF(r1)) /*Q, Z/p, GF(p,n)*/
    13191317    {
    13201318      if (r1->parameter!=NULL)
     
    13391337        if (r2->minpoly!=NULL)
    13401338        {
    1341           nSetChar(r1->ch,TRUE,r1->parameter,r1->P);
     1339          nSetChar(rInternalChar(r1),TRUE,r1->parameter,rPar(r1));
    13421340          if ((strcmp(r1->parameter[0],r2->parameter[0])==0) /* 1 char */
    13431341              && naEqual(r1->minpoly,r2->minpoly))
     
    13471345            tmpR.minpoly=naCopy(r1->minpoly);
    13481346            tmpR.P=1;
    1349             nSetChar(currRing->ch,TRUE,currRing->parameter,currRing->P);
     1347            nSetChar(rInternalChar(currRing),TRUE,currRing->parameter,
     1348              rPar(currRing));
    13501349          }
    13511350          else
    13521351          {
    1353             nSetChar(currRing->ch,TRUE,currRing->parameter,currRing->P);
     1352            nSetChar(rInternalChar(currRing),TRUE,currRing->parameter,
     1353              rPar(currRing));
    13541354            WerrorS("different minpolys");
    13551355            return -1;
     
    13591359        {
    13601360          if ((strcmp(r1->parameter[0],r2->parameter[0])==0) /* 1 char */
    1361               && (r2->P==1))
     1361              && (rPar(r2)==1))
    13621362          {
    13631363            tmpR.parameter=(char **)Alloc0(sizeof(char *));
    13641364            tmpR.parameter[0]=mstrdup(r1->parameter[0]);
    13651365            tmpR.P=1;
    1366             nSetChar(r1->ch,TRUE,r1->parameter,r1->P);
     1366            nSetChar(rInternalChar(r1),TRUE,r1->parameter,rPar(r1));
    13671367            tmpR.minpoly=naCopy(r1->minpoly);
    1368             nSetChar(currRing->ch,TRUE,currRing->parameter,currRing->P);
     1368            nSetChar(rInternalChar(currRing),TRUE,currRing->parameter,
     1369              rPar(currRing));
    13691370          }
    13701371          else
     
    13801381        {
    13811382          if ((strcmp(r1->parameter[0],r2->parameter[0])==0) /* 1 char */
    1382               && (r1->P==1))
     1383              && (rPar(r1)==1))
    13831384          {
    13841385            tmpR.parameter=(char **)Alloc(sizeof(char *));
    13851386            tmpR.parameter[0]=mstrdup(r1->parameter[0]);
    13861387            tmpR.P=1;
    1387             nSetChar(r2->ch,TRUE,r2->parameter,r2->P);
     1388            nSetChar(rInternalChar(r2),TRUE,r2->parameter,rPar(r2));
    13881389            tmpR.minpoly=naCopy(r2->minpoly);
    1389             nSetChar(currRing->ch,TRUE,currRing->parameter,currRing->P);
     1390            nSetChar(rInternalChar(currRing),TRUE,currRing->parameter,
     1391              rPar(currRing));
    13901392          }
    13911393          else
     
    14001402          tmpR.parameter=(char **)Alloc(len*sizeof(char *));
    14011403          int i;
    1402           for (i=0;i<r1->P;i++)
     1404          for (i=0;i<rPar(r1);i++)
    14031405          {
    14041406            tmpR.parameter[i]=mstrdup(r1->parameter[i]);
    14051407          }
    14061408          int j,l;
    1407           for(j=0;j<r2->P;j++)
     1409          for(j=0;j<rPar(r2);j++)
    14081410          {
    14091411            for(l=0;l<i;l++)
     
    14331435          || (r2->ch==-r1->ch)) /* Z/p */
    14341436      {
    1435         tmpR.ch=r1->ch;
     1437        tmpR.ch=rInternalChar(r1);
    14361438        tmpR.parameter=(char **)Alloc(rPar(r1)*sizeof(char *));
    1437         tmpR.P=r1->P;
     1439        tmpR.P=rPar(r1);
    14381440        memcpy(tmpR.parameter,r1->parameter,rPar(r1)*sizeof(char *));
    14391441        if (r1->minpoly!=NULL)
    14401442        {
    1441           nSetChar(r1->ch,TRUE,r1->parameter,r1->P);
     1443          nSetChar(rInternalChar(r1),TRUE,r1->parameter,rPar(r1));
    14421444          tmpR.minpoly=naCopy(r1->minpoly);
    1443           nSetChar(currRing->ch,TRUE,currRing->parameter,currRing->P);
     1445          nSetChar(rInternalChar(currRing),TRUE,currRing->parameter,
     1446            rPar(currRing));
    14441447        }
    14451448      }
     
    14591462      if ((r2->ch<-1)||(r2->ch==1)) /* Z/p(a),Q(a) */
    14601463      {
    1461         tmpR.ch=r2->ch;
    1462         tmpR.P=r2->P;
     1464        tmpR.ch=rInternalChar(r2);
     1465        tmpR.P=rPar(r2);
    14631466        tmpR.parameter=(char **)Alloc(rPar(r2)*sizeof(char *));
    14641467        memcpy(tmpR.parameter,r2->parameter,rPar(r2)*sizeof(char *));
    14651468        if (r2->minpoly!=NULL)
    14661469        {
    1467           nSetChar(r1->ch,TRUE,r1->parameter,r1->P);
     1470          nSetChar(rInternalChar(r1),TRUE,r1->parameter,rPar(r1));
    14681471          tmpR.minpoly=naCopy(r2->minpoly);
    1469           nSetChar(currRing->ch,TRUE,currRing->parameter,currRing->P);
     1472          nSetChar(rInternalChar(currRing),TRUE,currRing->parameter,
     1473            rPar(currRing));
    14701474        }
    14711475      }
     
    14901494      if (r2->ch==0) /* Q */
    14911495      {
    1492         tmpR.ch=r1->ch;
     1496        tmpR.ch=rInternalChar(r1);
    14931497        tmpR.P=rPar(r1);
    14941498        tmpR.parameter=(char **)Alloc0(rPar(r1)*sizeof(char *));
    14951499        int i;
    1496         for(i=0;i<r1->P;i++)
     1500        for(i=0;i<rPar(r1);i++)
    14971501        {
    14981502          tmpR.parameter[i]=mstrdup(r1->parameter[i]);
     
    15001504        if (r1->minpoly!=NULL)
    15011505        {
    1502           nSetChar(r1->ch,TRUE,r1->parameter,r1->P);
     1506          nSetChar(rInternalChar(r1),TRUE,r1->parameter,rPar(r1));
    15031507          tmpR.minpoly=naCopy(r1->minpoly);
    1504           nSetChar(currRing->ch,TRUE,currRing->parameter,currRing->P);
     1508          nSetChar(rInternalChar(currRing),TRUE,currRing->parameter,
     1509            rPar(currRing));
    15051510        }
    15061511      }
     
    15191524      else if (r2->ch==-r1->ch) /* Z/p(a) */
    15201525      {
    1521         tmpR.ch=r2->ch;
     1526        tmpR.ch=rInternalChar(r2);
    15221527        tmpR.P=rPar(r2);
    15231528        tmpR.parameter=(char **)Alloc(rPar(r2)*sizeof(char *));
    15241529        int i;
    1525         for(i=0;i<r2->P;i++)
     1530        for(i=0;i<rPar(r2);i++)
    15261531        {
    15271532          tmpR.parameter[i]=mstrdup(r2->parameter[i]);
     
    15291534        if (r2->minpoly!=NULL)
    15301535        {
    1531           nSetChar(r2->ch,TRUE,r2->parameter,r2->P);
     1536          nSetChar(rInternalChar(r2),TRUE,r2->parameter,rPar(r2));
    15321537          tmpR.minpoly=naCopy(r2->minpoly);
    1533           nSetChar(currRing->ch,TRUE,currRing->parameter,currRing->P);
     1538          nSetChar(rInternalChar(currRing),TRUE,currRing->parameter,
     1539            rPar(currRing));
    15341540        }
    15351541      }
     
    15571563    else if ((r2->parameter!=NULL) && (strlen(r1->names[i])==1))
    15581564    {
    1559       for(j=0;j<r2->P;j++)
     1565      for(j=0;j<rPar(r2);j++)
    15601566      {
    15611567        if (strcmp(r1->names[i],r2->parameter[j])==0)
     
    15861592    else if ((r1->parameter!=NULL) && (strlen(r2->names[i])==1))
    15871593    {
    1588       for(j=0;j<r1->P;j++)
     1594      for(j=0;j<rPar(r1);j++)
    15891595      {
    15901596        if (strcmp(r2->names[i],r1->parameter[j])==0)
     
    17601766    res->parameter=(char **)Alloc(l*sizeof(char *));
    17611767    int i;
    1762     for(i=0;i<r->P;i++)
     1768    for(i=0;i<rPar(r);i++)
    17631769    {
    17641770      res->parameter[i]=mstrdup(r->parameter[i]);
Note: See TracChangeset for help on using the changeset viewer.