Ignore:
Timestamp:
May 11, 2012, 5:39:56 PM (12 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
5428647f3ac13d90ef45d257602f128804d6920a
Parents:
ed31a6cf71be2add371af4493e8c396c256ca950
git-author:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2012-05-11 17:39:56+02:00
git-committer:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2012-05-15 15:49:50+02:00
Message:
moved proc Tail to the dyn. module

add: Tail command within syzextra (for poly/vector/ideal/module)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • dyn_modules/syzextra/mod_main.cc

    red31a6 re89ff5  
    294294
    295295  return FALSE;
     296}
     297
     298
     299
     300
     301
     302
     303static BOOLEAN Tail(leftv res, leftv h)
     304{
     305  NoReturn(res);
     306
     307  if( h == NULL )
     308  {
     309    WarnS("Tail needs an argument...");
     310    return TRUE;
     311  }
     312
     313  assume( h != NULL );
     314
     315  if( h->Typ() == POLY_CMD || h->Typ() == VECTOR_CMD)
     316  {
     317    const poly p = (const poly)h->Data();
     318
     319    res->rtyp = h->Typ();
     320
     321    if( p == NULL)
     322      res->data = NULL;
     323    else
     324      res->data = p_Copy( pNext(p), currRing );
     325
     326    h = h->Next(); assume (h == NULL);
     327   
     328    return FALSE;
     329  }
     330
     331  if( h->Typ() == IDEAL_CMD || h->Typ() == MODUL_CMD)
     332  {
     333    const ideal id = (const ideal)h->Data();
     334
     335    res->rtyp = h->Typ();
     336
     337    if( id == NULL)
     338      res->data = NULL;
     339    else
     340    {
     341      const ideal newid = idInit(IDELEMS(id),id->rank);
     342      for (int i=IDELEMS(id) - 1; i >= 0; i--)
     343        if( id->m[i] != NULL )
     344          newid->m[i] = p_Copy(pNext(id->m[i]), currRing);
     345        else
     346          newid->m[i] = NULL;
     347     
     348      res->data = newid;
     349    }
     350   
     351    h = h->Next(); assume (h == NULL);
     352   
     353    return FALSE;
     354  }
     355
     356  WarnS("Tail needs a single poly/vector/ideal/module argument...");
     357  return TRUE;
    296358}
    297359
     
    794856  ADD(psModulFunctions, currPack->libname, "leadrawexp", FALSE, leadrawexp);
    795857
     858  ADD(psModulFunctions, currPack->libname, "Tail", FALSE, Tail);
     859
    796860
    797861  ADD(psModulFunctions, currPack->libname, "ISUpdateComponents", FALSE, ISUpdateComponents);
Note: See TracChangeset for help on using the changeset viewer.