Changeset 276224e in git


Ignore:
Timestamp:
Jan 21, 2016, 3:42:55 PM (8 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '2a584933abf2a2d3082034c7586d38bb6de1a30a')
Children:
832330cabd87add905ae9ab4b43ee3df820ab6d6
Parents:
0033756c7f43b52dd1b86cb72c77e877b5c384dc
Message:
opt. maps: find more permutations
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/maps/find_perm.cc

    r0033756 r276224e  
    2424  for (i=si_min(IDELEMS(image),preimage_r->N)-1; i>=0; i--)
    2525  {
    26     if ((image->m[i]!=NULL)
    27     && (pNext(image->m[i])==NULL)
    28     && (n_IsOne(pGetCoeff(image->m[i]),image_r)))
     26    if (image->m[i]!=NULL)
    2927    {
    30       int v=p_IsUnivariate(image->m[i],image_r);
    31       if (v<=0) /*not univariate */
     28      if((pNext(image->m[i])==NULL)
     29      && (n_IsOne(pGetCoeff(image->m[i]),image_r)))
     30      {
     31        int v=p_IsUnivariate(image->m[i],image_r);
     32        if (v<=0) /*not univariate */
     33        {
     34          omFreeSize(perm,(preimage_r->N+1)*sizeof(int));
     35          return NULL;
     36        }
     37        else if (v>0) /* image is univaritate */
     38        {
     39          if (p_GetExp(image->m[i],v,image_r)==1)
     40          {
     41            perm[i+1]=v; /* and of exp 1 */
     42          }
     43          else
     44          {
     45            omFreeSize(perm,(preimage_r->N+1)*sizeof(int));
     46            return NULL;
     47          }
     48        }
     49      }
     50      else /* image is not a monomial */
    3251      {
    3352        omFreeSize(perm,(preimage_r->N+1)*sizeof(int));
    3453        return NULL;
    3554      }
    36       else if (v>0) /* image is univaritate */
    37       {
    38         if (p_GetExp(image->m[i],v,image_r)==1)
    39         {
    40           perm[i+1]=v; /* and of exp 1 */
    41         }
    42         else
    43         {
    44           omFreeSize(perm,(preimage_r->N+1)*sizeof(int));
    45           return NULL;
    46         }
    47       }
    48     }
    49     else /* image is not a monomial */
    50     {
    51       omFreeSize(perm,(preimage_r->N+1)*sizeof(int));
    52       return NULL;
    5355    }
    5456  }
Note: See TracChangeset for help on using the changeset viewer.