Changeset 760bfdc in git for Singular/iparith.cc


Ignore:
Timestamp:
Feb 24, 2021, 10:25:05 PM (3 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'b4f17ed1d25f93d46dbe29e4b499baecc2fd51bb')
Children:
d7bf543f0dc833e2899680cb0e5b7a4b7fff18f5
Parents:
29914fb99c60e5dfd7d9cca1951a5ea2c79ed469
Message:
modulo: 3 args: T/"alg"
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/iparith.cc

    r29914f r760bfdc  
    67606760  idhdl h=(idhdl)w->data;
    67616761  res->data = (char *)idModulo(u_id,v_id ,hom,&w_u, &(h->data.umatrix));
     6762  if (w_u!=NULL)
     6763  {
     6764    atSet(res,omStrDup("isHomog"),w_u,INTVEC_CMD);
     6765  }
     6766  delete w_v;
     6767  //if (TEST_OPT_RETURN_SB) setFlag(res,FLAG_STD);
     6768  return FALSE;
     6769}
     6770static BOOLEAN jjMODULO3S(leftv res, leftv u, leftv v, leftv w)
     6771{
     6772  if (w->rtyp!=IDHDL) return TRUE; /* idhdhl required */
     6773  intvec *w_u=(intvec *)atGet(u,"isHomog",INTVEC_CMD);
     6774  tHomog hom=testHomog;
     6775  if (w_u!=NULL)
     6776  {
     6777    w_u=ivCopy(w_u);
     6778    hom=isHomog;
     6779  }
     6780  intvec *w_v=(intvec *)atGet(v,"isHomog",INTVEC_CMD);
     6781  if (w_v!=NULL)
     6782  {
     6783    w_v=ivCopy(w_v);
     6784    hom=isHomog;
     6785  }
     6786  if ((w_u!=NULL) && (w_v==NULL))
     6787    w_v=ivCopy(w_u);
     6788  if ((w_v!=NULL) && (w_u==NULL))
     6789    w_u=ivCopy(w_v);
     6790  ideal u_id=(ideal)u->Data();
     6791  GbVariant alg=syGetAlgorithm((char*)w->Data(),currRing,u_id);
     6792  ideal v_id=(ideal)v->Data();
     6793  if (w_u!=NULL)
     6794  {
     6795     if ((*w_u).compare((w_v))!=0)
     6796     {
     6797       WarnS("incompatible weights");
     6798       delete w_u; w_u=NULL;
     6799       hom=testHomog;
     6800     }
     6801     else
     6802     {
     6803       if ((!idTestHomModule(u_id,currRing->qideal,w_v))
     6804       || (!idTestHomModule(v_id,currRing->qideal,w_v)))
     6805       {
     6806         WarnS("wrong weights");
     6807         delete w_u; w_u=NULL;
     6808         hom=testHomog;
     6809       }
     6810     }
     6811  }
     6812  idhdl h=(idhdl)w->data;
     6813  res->data = (char *)idModulo(u_id,v_id ,hom,&w_u, &(h->data.umatrix),alg);
    67626814  if (w_u!=NULL)
    67636815  {
Note: See TracChangeset for help on using the changeset viewer.