Changeset 5b3fec in git


Ignore:
Timestamp:
Feb 1, 2019, 4:58:13 PM (4 years ago)
Author:
Karim Abou Zeid <karim23697@…>
Branches:
(u'spielwiese', '828514cf6e480e4bafc26df99217bf2a1ed1ef45')
Children:
1e6885f5cacbce6fbbc201cf3104ccc6af24824c
Parents:
37cbc29f515f886b5506d4f7b5731a488acfe576
git-author:
Karim Abou Zeid <karim23697@gmail.com>2019-02-01 16:58:13+01:00
git-committer:
Karim Abou Zeid <karim23697@gmail.com>2019-02-08 17:55:47+01:00
Message:
Add rightstd(), and make std(), rightstd() and reduce() compatible with
qring.
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • Singular/dyn_modules/freegb/freegb.cc

    r37cbc2 r5b3fec  
    22
    33#ifdef HAVE_SHIFTBBA
    4 static BOOLEAN freegb(leftv res, leftv args)
     4static BOOLEAN freegb(leftv res, leftv args) // freeAlgebra
    55{
    66  const short t1[]={2,RING_CMD,INT_CMD};
     
    8080}
    8181
    82 /*==================== divide-test for freeGB  =================*/
    8382static BOOLEAN lpLmDivides(leftv res, leftv h)
    8483{
     
    112111}
    113112
    114 /*==================== get var for freeGB  ====================*/
    115113static BOOLEAN lpVarAt(leftv res, leftv h)
    116114{
     
    126124  else return TRUE;
    127125}
     126
     127static BOOLEAN rightStd(leftv res, leftv h)
     128{
     129  const short t[]={1,IDEAL_CMD};
     130  if (iiCheckTypes(h,t,1))
     131  {
     132    ideal id=(ideal)h->Data();
     133    res->rtyp = IDEAL_CMD;
     134    res->data = rightgb(id, currRing->qideal);
     135    return FALSE;
     136  }
     137  return TRUE;
     138}
    128139#endif
    129140
     
    138149  p->iiAddCproc("freegb.so","stest",TRUE,stest);
    139150  p->iiAddCproc("freegb.so","btest",TRUE,btest);
     151  p->iiAddCproc("freegb.so","rightstd",FALSE,rightStd);
    140152#endif
    141153  return (MAX_TOK);
  • kernel/GBEngine/kstd1.cc

    r37cbc2 r5b3fec  
    20932093
    20942094#ifdef HAVE_SHIFTBBA
    2095   if(rIsLPRing(currRing)) return freegb(F);
     2095  if(rIsLPRing(currRing)) return freegb(F, Q);
    20962096#endif
    20972097
  • kernel/GBEngine/kstd2.cc

    r37cbc2 r5b3fec  
    44594459
    44604460
    4461 ideal freegb(ideal F)
     4461ideal freegb(ideal F, ideal Q)
    44624462{
    44634463  assume(rIsLPRing(currRing));
    44644464  assume(idIsInV(F));
    4465   ideal RS = kStdShift(F, NULL, testHomog, NULL);
     4465  ideal RS = kStdShift(F, Q, testHomog, NULL);
    44664466  idSkipZeroes(RS); // is this even necessary?
    44674467  assume(idIsInV(RS));
  • kernel/GBEngine/kutil.h

    r37cbc2 r5b3fec  
    861861int redFirstShift (LObject* h,kStrategy strat); // ok
    862862
    863 ideal freegb(ideal F);
     863ideal freegb(ideal F, ideal Q);
    864864ideal rightgb(ideal F, ideal Q);
    865865
Note: See TracChangeset for help on using the changeset viewer.