source: git/Singular/p_ShallowCopyDelete__Template.cc @ 9d72fe

spielwiese
Last change on this file since 9d72fe was 9d72fe, checked in by Olaf Bachmann <obachman@…>, 24 years ago
* new p_Procs stuff git-svn-id: file:///usr/local/Singular/svn/trunk@4559 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.1 KB
Line 
1/****************************************
2*  Computer Algebra System SINGULAR     *
3****************************************/
4/***************************************************************
5 *  File:    p_ShallowCopyDelete__Template.cc
6 *  Purpose: template for p_ShallowCopyDelete
7 *  Author:  obachman (Olaf Bachmann)
8 *  Created: 8/00
9 *  Version: $Id: p_ShallowCopyDelete__Template.cc,v 1.1 2000-08-24 14:42:44 obachman Exp $
10 *******************************************************************/
11
12/***************************************************************
13 *
14 * Destroys: p
15 * Assumes:  Monoms of p are from
16 * Returns:
17 ***************************************************************/
18poly p_ShallowCopyDelete(poly s_p, const ring r, omBin d_bin)
19{
20  spolyrec dp;
21  poly d_p = &dp;
22  unsigned long* s_e;
23  poly h;
24 
25  DECLARE_LENGTH(const unsigned long length = r->ExpLSize);
26
27  while (s_p != NULL)
28  {
29    omTypeAllocBin(poly, d_p->next, d_bin);
30    pIter(d_p);
31    pSetCoeff0(d_p, pGetCoeff(s_p));
32    h = s_p;
33    s_p =  pNext(s_p);
34    p_MemCopy(d_p->exp.l, h->exp.l, length);
35    omFreeBinAddr(h);
36  }
37  pNext(d_p) = NULL;
38  return dp.next;
39}
40
Note: See TracBrowser for help on using the repository browser.