Ignore:
Timestamp:
Jul 19, 2013, 11:32:30 AM (11 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
24d28c126eeee4f3f659e22340b915e485fbbcf1
Parents:
9713eea80d019296cc6a670a2d19b267b228d562
Message:
fix: tr. #496 (imap:Q(a)->Q[a] via p_PermPoly)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/polys/monomials/p_polys.cc

    r9713ee r2b2e08  
    21702170        while (p!=NULL)
    21712171        { // each monom: coeff in Q_a
    2172           fraction f=(fraction)pGetCoeff(p); 
     2172          fraction f=(fraction)pGetCoeff(p);
    21732173          poly c_n=NUM(f);
    21742174          if (hzz==NULL)
    2175           {
    2176             hzz=n_Copy(pGetCoeff(c_n),r->cf->extRing->cf);
    2177             pIter(c_n);
    2178           }
     2175          {
     2176            hzz=n_Copy(pGetCoeff(c_n),r->cf->extRing->cf);
     2177            pIter(c_n);
     2178          }
    21792179          while ((c_n!=NULL)&&(!n_IsOne(hzz,r->cf->extRing->cf)))
    21802180          { // each monom: coeff in Q
     
    21952195          while (p!=NULL)
    21962196          { // each monom: coeff in Q_a
    2197             fraction f=(fraction)pGetCoeff(p);
     2197            fraction f=(fraction)pGetCoeff(p);
    21982198            NUM(f)=p_Mult_nn(NUM(f),h,r->cf->extRing);
    2199             p_Normalize(NUM(f),r->cf->extRing);
    2200             pIter(p);
     2199            p_Normalize(NUM(f),r->cf->extRing);
     2200            pIter(p);
    22012201          }
    22022202        }
     
    36223622  {
    36233623    zz = (poly) z;
    3624 
    3625     if( zz == NULL )
    3626        return NULL;
    3627 
    3628   } else if (nCoeff_is_transExt(srcCf))
     3624    if( zz == NULL ) return NULL;
     3625  }
     3626  else if (nCoeff_is_transExt(srcCf))
    36293627  {
    36303628    assume( !IS0(z) );
     
    36333631    p_Test (zz, srcExtRing);
    36343632
    3635     if( zz == NULL )
    3636        return NULL;
    3637 
    3638     //if( !DENIS1(z) )
    3639       //WarnS("Not implemented yet: Cannot permute a rational fraction and make a polynomial out of it! Ignorring the denumerator.");
    3640   } else
    3641      {
    3642         assume (FALSE);
    3643         Werror("Number permutation is not implemented for this data yet!");
    3644         return NULL;
    3645      }
     3633    if( zz == NULL ) return NULL;
     3634    if( !DENIS1(z) )
     3635    {
     3636      if (p_IsConstant(DEN(z),srcExtRing))
     3637      {
     3638        number n=pGetCoeff(DEN(z));
     3639        zz=p_Div_nn(zz,n,srcExtRing);
     3640      }
     3641      //else
     3642      //  WarnS("Not implemented yet: Cannot permute a rational fraction and make a polynomial out of it! Ignorring the denumerator.");
     3643    }
     3644  }
     3645  else
     3646  {
     3647    assume (FALSE);
     3648    Werror("Number permutation is not implemented for this data yet!");
     3649    return NULL;
     3650  }
    36463651
    36473652  assume( zz != NULL );
    36483653  p_Test (zz, srcExtRing);
    36493654
    3650 
    36513655  nMapFunc nMap = n_SetMap(srcExtRing->cf, dstCf);
    36523656
     
    36543658
    36553659  poly qq;
    3656 
    36573660  if ((par_perm == NULL) && (rPar(dst) != 0 && rVar (srcExtRing) > 0))
    36583661  {
Note: See TracChangeset for help on using the changeset viewer.