Changeset a660bb2 in git


Ignore:
Timestamp:
Jan 22, 2016, 5:40:50 PM (8 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '2a584933abf2a2d3082034c7586d38bb6de1a30a')
Children:
01f6271e1cfb6a7db18909a25eefab7cd08cc713
Parents:
b64a5f131f1c498bfaf3b8d81c7a062ed7ef5c7f
Message:
opt maps: use maMapIdeal also for module/matrix/map
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • Singular/ipshell.cc

    rb64a5f1 ra660bb2  
    691691              poly p=id->m[i];
    692692              if ((p!=NULL) && (degs[i]!=0) &&
    693               ((unsigned long)deg_monexp > (currRing->bitmask / (unsigned long)degs[i]/2)))
     693              ((unsigned long)deg_monexp > (currRing->bitmask / ((unsigned long)degs[i])/2)))
    694694              {
    695695                overflow=TRUE;
     
    710710            poly p=(poly)tmpW.data;
    711711            long deg=0;
    712             if ((p!=NULL) && (deg=p_Totaldegree(p,src_ring)!=0) &&
    713             ((unsigned long)deg_monexp > (currRing->bitmask / (unsigned long)deg/2)))
     712            if ((p!=NULL) && ((deg=p_Totaldegree(p,src_ring))!=0) &&
     713            ((unsigned long)deg_monexp > (currRing->bitmask / ((unsigned long)deg)/2)))
    714714            {
    715715              overflow=TRUE;
     
    730730#endif
    731731      {
    732         if (tmpW.rtyp==IDEAL_CMD)
     732        if ((tmpW.rtyp==IDEAL_CMD)
     733        ||(tmpW.rtyp==MODUL_CMD)
     734        ||(tmpW.rtyp==MATRIX_CMD)
     735        ||(tmpW.rtyp==MAP_CMD))
    733736        {
    734           v->rtyp=IDEAL_CMD;
     737          v->rtyp=tmpW.rtyp;
    735738          char *tmp = theMap->preimage;
    736739          theMap->preimage=(char*)1L;
     
    739742          theMap->preimage=tmp; // map gets its preimage back
    740743        }
    741         if (v->data==NULL) /*i.e. not IDEAL_CMD */
     744        if (v->data==NULL) /*i.e. not IDEAL_CMD/MODUL_CMD/MATRIX_CMD/MAP */
    742745        {
    743746          if (maApplyFetch(MAP_CMD,theMap,v,&tmpW,src_ring,NULL,NULL,0,nMap))
     
    11731176  return iiAssign(p,&tmp);
    11741177}
    1175 BOOLEAN iiBranchTo(leftv r, leftv args)
     1178BOOLEAN iiBranchTo(leftv, leftv args)
    11761179{
    11771180  // <string1...stringN>,<proc>
     
    62576260  return FALSE;
    62586261}
    6259 BOOLEAN iiApplyBIGINTMAT(leftv res, leftv a, int op, leftv proc)
     6262BOOLEAN iiApplyBIGINTMAT(leftv, leftv, int, leftv)
    62606263{
    62616264  WerrorS("not implemented");
    62626265  return TRUE;
    62636266}
    6264 BOOLEAN iiApplyIDEAL(leftv res, leftv a, int op, leftv proc)
     6267BOOLEAN iiApplyIDEAL(leftv, leftv, int, leftv)
    62656268{
    62666269  WerrorS("not implemented");
  • kernel/maps/find_perm.cc

    rb64a5f1 ra660bb2  
    8585    }
    8686  }
     87  ideal ii=(ideal)m;
     88  ii->rank=((ideal)to_map)->rank;
    8789  omFreeSize(perm,(preimage_r->N+1)*sizeof(int));
    8890  return m;
  • kernel/maps/gen_maps.cc

    rb64a5f1 ra660bb2  
    111111    // ----------------------------------------------------------
    112112    // long polys in the image ?: possiblity of many common subexpressions
    113     if (nMap==ndCopyMap) /* and !rIsPluralRing(image_r) */
     113    if ((nMap==ndCopyMap) /* and !rIsPluralRing(image_r) */
     114    && (map_id->nrows==1) /* i.e. only for ideal/map */
     115    && (map_id->rank==1))
    114116    {
    115117      int sz=IDELEMS(map_id);
     
    137139  if (TEST_OPT_PROT) PrintS("map with cache\n");
    138140  int C=((matrix)map_id)->cols();
    139   int R=1; //((matrix)map_id)->rows();
     141  int R=((matrix)map_id)->rows();
    140142  matrix m=mpNew(R,C);
    141143  int N = preimage_r->N;
     
    151153  }
    152154  idDelete((ideal *)&cache);
     155  ideal ii=(ideal)m;
     156  ii->rank=((ideal)map_id)->rank;
    153157  return (ideal)m;
    154158}
Note: See TracChangeset for help on using the changeset viewer.