Changeset c7ae4d in git for libpolys


Ignore:
Timestamp:
Aug 31, 2016, 12:30:31 AM (8 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '4a9821a93ffdc22a6696668bd4f6b8c9de3e6c5f')
Children:
e180f5613c396d33aa3316cd450d3a1e80d69129
Parents:
7e2307f3485ab92e550254c1212dafc2940b41ea
Message:
Singular_4_1: parent(..)
Location:
libpolys
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libpolys/coeffs/numbers.cc

    r7e2307 rc7ae4d  
    5555{
    5656  char *s=(char *)omAlloc(11);snprintf(s,11,"Coeffs(%d)",r->type);
     57  return s;
     58}
     59static char* ndCoeffName(const coeffs r)
     60{
     61  static char s[20];
     62  snprintf(s,11,"Coeffs(%d)",r->type);
    5763  return s;
    5864}
     
    151157static number ndGetNumerator(number &a,const coeffs r) { return r->cfCopy(a,r); }
    152158static int    ndSize(number a, const coeffs r)         { return (int)r->cfIsZero(a,r)==FALSE; }
    153 static char * ndCoeffName(const coeffs r)              { return r->cfCoeffString(r); }
    154159
    155160static void ndClearContent(ICoeffsEnumerator& numberCollectionEnumerator, number& c, const coeffs r)
     
    351356    n->cfAnn = ndAnn;
    352357    n->cfCoeffString = ndCoeffString; // should alway be changed!
     358    n->cfCoeffName = ndCoeffName; // should alway be changed!
    353359    n->cfInpMult=ndInpMult;
    354360    n->cfInpAdd=ndInpAdd;
     
    362368    n->cfMPZ = ndMPZ;
    363369    n->cfPower = ndPower;
    364     n->cfCoeffName = ndCoeffName;
    365370
    366371    n->cfKillChar = ndKillChar; /* dummy */
     
    419424    assume(n->cfSetChar!=NULL);
    420425    assume(n->cfCoeffString!=ndCoeffString);
     426    assume(n->cfCoeffName!=ndCoeffName);
    421427    assume(n->cfMult!=NULL);
    422428    assume(n->cfSub!=NULL);
  • libpolys/polys/ext_fields/algext.cc

    r7e2307 rc7ae4d  
    13611361}
    13621362
     1363char* naCoeffName(const coeffs r) // currently also for tranext.
     1364{
     1365  const char* const* p=n_ParameterNames(r);
     1366  int l=0;
     1367  int i;
     1368  for(i=0; i<n_NumberOfParameters(r);i++)
     1369  {
     1370    l+=(strlen(p[i])+1);
     1371  }
     1372  static char s[200];
     1373  s[0]='\0';
     1374  snprintf(s,10+1,"%d",r->ch); /* Fp(a) or Q(a) */
     1375  char tt[2];
     1376  tt[0]=',';
     1377  tt[1]='\0';
     1378  for(i=0; i<n_NumberOfParameters(r);i++)
     1379  {
     1380    strcat(s,tt);
     1381    strcat(s,p[i]);
     1382  }
     1383  return s;
     1384}
     1385
    13631386number  naChineseRemainder(number *x, number *q,int rl, BOOLEAN /*sym*/,CFArray &inv_cache,const coeffs cf)
    13641387{
     
    14141437  #endif
    14151438
    1416   cf->cfCoeffString = naCoeffString;
     1439  cf->cfCoeffString  = naCoeffString;
     1440  cf->cfCoeffName    = naCoeffName;
    14171441
    14181442  cf->cfGreaterZero  = naGreaterZero;
     
    15861610}
    15871611
    1588 char* n2pCoeffString(const coeffs r) // currently also for tranext.
    1589 {
    1590   const char* const* p=n_ParameterNames(r);
     1612char* n2pCoeffString(const coeffs cf)
     1613{
     1614  const char* const* p=n_ParameterNames(cf);
    15911615  int l=0;
    15921616  int i;
    1593   for(i=0; i<n_NumberOfParameters(r);i++)
     1617  for(i=0; i<rVar(n2pRing);i++)
    15941618  {
    15951619    l+=(strlen(p[i])+1);
    15961620  }
    1597   char *s=(char *)omAlloc(l+10+1);
     1621  char *cf_s=nCoeffString(n2pRing->cf);
     1622  char *s=(char *)omAlloc(l+5+strlen(cf_s));
    15981623  s[0]='\0';
    1599   snprintf(s,10+1,"%d",r->ch); /* Fp(a) or Q(a) */
     1624  snprintf(s,strlen(cf_s)+2,"%s",cf_s);
     1625  omFree(cf_s);
    16001626  char tt[2];
     1627  tt[0]='[';
     1628  tt[1]='\0';
     1629  strcat(s,tt);
    16011630  tt[0]=',';
     1631  for(i=0; i<rVar(n2pRing);i++)
     1632  {
     1633    strcat(s,p[i]);
     1634    if (i+1!=rVar(n2pRing)) strcat(s,tt);
     1635    else { tt[0]=']'; strcat(s,tt); }
     1636  }
     1637  return s;
     1638}
     1639
     1640char* n2pCoeffName(const coeffs cf)
     1641{
     1642  const char* const* p=n_ParameterNames(cf);
     1643  int l=0;
     1644  int i;
     1645  for(i=0; i<rVar(n2pRing);i++)
     1646  {
     1647    l+=(strlen(p[i])+1);
     1648  }
     1649  char *cf_s=nCoeffString(n2pRing->cf);
     1650  char s[200];
     1651  s[0]='\0';
     1652  snprintf(s,strlen(cf_s)+2,"%s",cf_s);
     1653  omFree(cf_s);
     1654  char tt[2];
     1655  tt[0]='[';
    16021656  tt[1]='\0';
    1603   for(i=0; i<n_NumberOfParameters(r);i++)
    1604   {
    1605     strcat(s,tt);
     1657  strcat(s,tt);
     1658  tt[0]=',';
     1659  for(i=0; i<rVar(n2pRing);i++)
     1660  {
    16061661    strcat(s,p[i]);
     1662    if (i+1!=rVar(n2pRing)) strcat(s,tt);
     1663    else { tt[0]=']'; strcat(s,tt); }
    16071664  }
    16081665  return s;
     
    16591716  cf->is_domain=TRUE;
    16601717
    1661   cf->cfCoeffString = n2pCoeffString;
     1718  cf->cfCoeffString  = n2pCoeffString;
     1719  cf->cfCoeffName    = n2pCoeffName;
    16621720
    16631721  cf->cfGreaterZero  = naGreaterZero;
Note: See TracChangeset for help on using the changeset viewer.