Changeset c78bded in git for Singular/iparith.cc


Ignore:
Timestamp:
Jul 2, 2012, 2:40:42 PM (11 years ago)
Author:
Christian Eder
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'f875bbaccd0831e36aaed09ff6adeb3eb45aeb94')
Children:
19609cce8ae122e920a77ead0ddc3ea3984ecc0d
Parents:
0758b5a070556dd402b297144aae88721940fd10
git-author:
Christian Eder <ederc@mathematik.uni-kl.de>2012-07-02 14:40:42+02:00
git-committer:
Christian Eder <ederc@mathematik.uni-kl.de>2012-07-05 16:12:50+02:00
Message:
adds sba() call
=> signature-based algorithms available in spielwiese
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/iparith.cc

    r0758b5 rc78bded  
    47834783  //res->data=(char *)t_rep_gb(currRing, u_id);
    47844784
     4785  if(!TEST_OPT_DEGBOUND) setFlag(res,FLAG_STD);
     4786  if (w!=NULL) atSet(res,omStrDup("isHomog"),w,INTVEC_CMD);
     4787  return FALSE;
     4788}
     4789static BOOLEAN jjSBA(leftv res, leftv v)
     4790{
     4791  ideal result;
     4792  ideal v_id=(ideal)v->Data();
     4793  intvec *w=(intvec *)atGet(v,"isHomog",INTVEC_CMD);
     4794  tHomog hom=testHomog;
     4795  if (w!=NULL)
     4796  {
     4797    if (!idTestHomModule(v_id,currQuotient,w))
     4798    {
     4799      WarnS("wrong weights");
     4800      w=NULL;
     4801    }
     4802    else
     4803    {
     4804      hom=isHomog;
     4805      w=ivCopy(w);
     4806    }
     4807  }
     4808  result=kSba(v_id,currQuotient,hom,&w,1,0);
     4809  idSkipZeroes(result);
     4810  res->data = (char *)result;
     4811  if(!TEST_OPT_DEGBOUND) setFlag(res,FLAG_STD);
     4812  if (w!=NULL) atSet(res,omStrDup("isHomog"),w,INTVEC_CMD);
     4813  return FALSE;
     4814}
     4815static BOOLEAN jjSBA_1(leftv res, leftv v, leftv u)
     4816{
     4817  ideal result;
     4818  ideal v_id=(ideal)v->Data();
     4819  intvec *w=(intvec *)atGet(v,"isHomog",INTVEC_CMD);
     4820  tHomog hom=testHomog;
     4821  if (w!=NULL)
     4822  {
     4823    if (!idTestHomModule(v_id,currQuotient,w))
     4824    {
     4825      WarnS("wrong weights");
     4826      w=NULL;
     4827    }
     4828    else
     4829    {
     4830      hom=isHomog;
     4831      w=ivCopy(w);
     4832    }
     4833  }
     4834  result=kSba(v_id,currQuotient,hom,&w,(int)(long)u->Data(),0);
     4835  idSkipZeroes(result);
     4836  res->data = (char *)result;
     4837  if(!TEST_OPT_DEGBOUND) setFlag(res,FLAG_STD);
     4838  if (w!=NULL) atSet(res,omStrDup("isHomog"),w,INTVEC_CMD);
     4839  return FALSE;
     4840}
     4841static BOOLEAN jjSBA_2(leftv res, leftv v, leftv u, leftv t)
     4842{
     4843  ideal result;
     4844  ideal v_id=(ideal)v->Data();
     4845  intvec *w=(intvec *)atGet(v,"isHomog",INTVEC_CMD);
     4846  tHomog hom=testHomog;
     4847  if (w!=NULL)
     4848  {
     4849    if (!idTestHomModule(v_id,currQuotient,w))
     4850    {
     4851      WarnS("wrong weights");
     4852      w=NULL;
     4853    }
     4854    else
     4855    {
     4856      hom=isHomog;
     4857      w=ivCopy(w);
     4858    }
     4859  }
     4860  result=kSba(v_id,currQuotient,hom,&w,(int)(long)u->Data(),(int)(long)t->Data());
     4861  idSkipZeroes(result);
     4862  res->data = (char *)result;
    47854863  if(!TEST_OPT_DEGBOUND) setFlag(res,FLAG_STD);
    47864864  if (w!=NULL) atSet(res,omStrDup("isHomog"),w,INTVEC_CMD);
Note: See TracChangeset for help on using the changeset viewer.