Changeset d11734 in git


Ignore:
Timestamp:
Dec 12, 2013, 3:50:39 PM (10 years ago)
Author:
Christian Eder
Branches:
(u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
Children:
c4279b7c056a41721f90960da06be24e4b9ed6b4
Parents:
cc6544e8240b1641c06b4c0ef07a1d4cc428a0b7
Message:
adds new ring order conversion in sba:
usage of degree - index - ringOrder now possible
Location:
kernel
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/kstd2.cc

    rcc6544 rd11734  
    17021702  ring sRing, currRingOld;
    17031703  currRingOld  = currRing;
    1704   if (strat->sbaOrder == 1)
     1704  if (strat->sbaOrder == 1 || strat->sbaOrder == 3)
    17051705  {
    17061706    sRing = sbaRing(strat);
     
    23182318  }
    23192319#endif
    2320   if (strat->sbaOrder == 1 && sRing!=currRingOld)
     2320  if ((strat->sbaOrder == 1 || strat->sbaOrder == 3) && sRing!=currRingOld)
    23212321  {
    23222322    rChangeCurrRing (currRingOld);
  • kernel/kutil.cc

    rcc6544 rd11734  
    83148314    // new 1st block
    83158315    res->order[0]   = ringorder_C; // Prefix
     8316    //res->block0[0]  = 1;
     8317    //res->block1[0]  = res->N;
     8318    //res->wvhdl[j]   = NULL;
     8319    // res->order [j] = 0; // The End!
     8320    rComplete(res, 1);
     8321#ifdef HAVE_PLURAL
     8322    if (rIsPluralRing(r))
     8323    {
     8324      if ( nc_rComplete(r, res, false) ) // no qideal!
     8325      {
     8326#ifndef NDEBUG
     8327        WarnS("error in nc_rComplete");
     8328#endif
     8329        // cleanup?
     8330
     8331        //      rDelete(res);
     8332        //      return r;
     8333
     8334        // just go on..
     8335      }
     8336    }
     8337#endif
     8338    strat->tailRing = res;
     8339    return (res);
     8340  }
     8341  // if sbaOrder == 3 => degree - position - ring order
     8342  if (strat->sbaOrder == 3)
     8343  {
     8344    printf("hh\n");
     8345    ring res = rCopy0(r, FALSE, TRUE);
     8346    for (int i=2; i<n; i++)
     8347    {
     8348      printf("i %d\n",i);
     8349      res->order[i] = res->order[i-2];
     8350      res->block0[i] = res->block0[i-2];
     8351      res->block1[i] = res->block1[i-2];
     8352      res->wvhdl[i] = res->wvhdl[i-2];
     8353    }
     8354    printf("hh2\n");
     8355
     8356    // new 1st block
     8357    res->order[0]   = ringorder_a; // Prefix
    83168358    res->block0[0]  = 1;
    8317     res->block1[0]  = res->N;
     8359    res->wvhdl[0]   = (int *)omAlloc(res->N*sizeof(int));
     8360    for (int i=0; i<res->N; ++i)
     8361      res->wvhdl[0][i]  = 1;
     8362    res->block1[0]  = si_min(1+res->N, rVar(res));
     8363
     8364    // new 2nd block
     8365    res->order[1]   = ringorder_C; // Prefix
     8366    res->block0[1]  = 1;
     8367    res->block1[1]  = res->N;
    83188368    //res->wvhdl[j]   = NULL;
    83198369    // res->order [j] = 0; // The End!
Note: See TracChangeset for help on using the changeset viewer.