Changeset 10ed4a3 in git for kernel/ideals.cc


Ignore:
Timestamp:
Nov 12, 2008, 1:41:03 PM (15 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a657104b677b4c461d018cbf3204d72d34ad66a9')
Children:
f53fdfabd5c0e8bb4d1e132d057535be578c560a
Parents:
8cd64eb888f63d0613de57a2244d263f37cdfc98
Message:
idElim tests...


git-svn-id: file:///usr/local/Singular/svn/trunk@11188 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/ideals.cc

    r8cd64e r10ed4a3  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ideals.cc,v 1.60 2008-11-05 15:40:38 wienand Exp $ */
     4/* $Id: ideals.cc,v 1.61 2008-11-12 12:41:03 Singular Exp $ */
    55/*
    66* ABSTRACT - all basic methods to manipulate ideals
     
    24392439  }
    24402440  ord=(int*)omAlloc0(ordersize*sizeof(int));
    2441   block0=(int*)omAlloc(ordersize*sizeof(int));
    2442   block1=(int*)omAlloc(ordersize*sizeof(int));
     2441  block0=(int*)omAlloc0(ordersize*sizeof(int));
     2442  block1=(int*)omAlloc0(ordersize*sizeof(int));
    24432443  wv=(int**) omAlloc0(ordersize*sizeof(int**));
    2444   for (k=0;k<ordersize-1; k++)
    2445   {
    2446     block0[k+1] = origR->block0[k];
    2447     block1[k+1] = origR->block1[k];
    2448     ord[k+1] = origR->order[k];
    2449     if (origR->wvhdl[k]!=NULL) wv[k+1] = (int*) omMemDup(origR->wvhdl[k]);
     2444  if (rIsPluralRing(origR)) // we have too keep the odering: it may be needed
     2445                            // for G-algebra
     2446  {
     2447    for (k=0;k<ordersize-1; k++)
     2448    {
     2449      block0[k+1] = origR->block0[k];
     2450      block1[k+1] = origR->block1[k];
     2451      ord[k+1] = origR->order[k];
     2452      if (origR->wvhdl[k]!=NULL) wv[k+1] = (int*) omMemDup(origR->wvhdl[k]);
     2453    }
     2454  }
     2455  else
     2456  {
     2457    block0[1] = 1;
     2458    block1[1] = pVariables;
     2459    if (origR->OrdSgn==1) ord[1] = ringorder_wp;
     2460    else                  ord[1] = ringorder_ws;
     2461    wv[1]=(int*)omAlloc0(pVariables*sizeof(int));
     2462    double wNsqr = (double)2.0 / (double)pVariables;
     2463    wFunctional = wFunctionalBuch;
     2464    int  *x= (int * )omAlloc(2 * (pVariables + 1) * sizeof(int));
     2465    int sl=IDELEMS(h1) - 1;
     2466    wCall(h1->m, sl, x, wNsqr);
     2467    for (sl = pVariables; sl!=0; sl--)
     2468      wv[1][sl-1] = x[sl + pVariables + 1];
     2469    omFreeSize((ADDRESS)x, 2 * (pVariables + 1) * sizeof(int));
     2470
     2471#if 0
     2472    for (k=0;k<ordersize-1; k++)
     2473    {
     2474      if ( (origR->order[k]==ringorder_c)
     2475      || (origR->order[k]==ringorder_C))
     2476      {
     2477        ord[2]=origR->order[k];
     2478        break;
     2479      }
     2480    }
     2481#else
     2482    ord[2]=ringorder_C;
     2483#endif
     2484    ord[3]=0;
    24502485  }
    24512486  block0[0] = 1;
     
    24612496  // fill in tmp ring to get back the data later on
    24622497  tmpR  = rCopy0(origR,FALSE,FALSE); // qring==NULL
     2498  //rUnComplete(tmpR);
    24632499  tmpR->order = ord;
    24642500  tmpR->block0 = block0;
    24652501  tmpR->block1 = block1;
    24662502  tmpR->wvhdl = wv;
     2503  tmpR->p_Procs=NULL;
    24672504
    24682505  rComplete(tmpR, 1);
     
    24872524  rChangeCurrRing(tmpR);
    24882525
    2489   h = idInit(IDELEMS(h1),h1->rank);
     2526  //h = idInit(IDELEMS(h1),h1->rank);
    24902527  // fetch data from the old ring
    2491   for (k=0;k<IDELEMS(h1);k++) h->m[k] = prCopyR( h1->m[k], origR);
     2528  //for (k=0;k<IDELEMS(h1);k++) h->m[k] = prCopyR( h1->m[k], origR);
     2529  h=idrCopyR(h1,origR,currRing);
    24922530  // compute kStd
    24932531#if 1
     2532  //rWrite(tmpR);PrintLn();
     2533  BITSET save=test;
     2534  //test |=1;
     2535  //Print("h: %d gen, rk=%d\n",IDELEMS(h),h->rank);
     2536  //extern char * showOption();
     2537  //Print("%s\n",showOption());
    24942538  hh = kStd(h,NULL,hom,&w,hilb);
     2539  test=save;
    24952540  idDelete(&h);
    24962541#else
     
    25162561        IDELEMS(h3) += 16;
    25172562      }
    2518       h3->m[j] = prCopyR( hh->m[k], tmpR);
     2563      h3->m[j] = prMoveR( hh->m[k], tmpR);
     2564      hh->m[k] = NULL;
    25192565    }
    25202566  }
Note: See TracChangeset for help on using the changeset viewer.