spielwiese
Last change
on this file was
fea494,
checked in by Hans Schoenemann <hannes@…>, 9 years ago
|
format
|
-
Property mode set to
100644
|
File size:
906 bytes
|
Line | |
---|
1 | /**************************************** |
---|
2 | * Computer Algebra System SINGULAR * |
---|
3 | ****************************************/ |
---|
4 | /* |
---|
5 | * ABSTRACT - templates for pr routines |
---|
6 | */ |
---|
7 | |
---|
8 | |
---|
9 | static poly PR_NAME |
---|
10 | (poly &src, const ring r_src, const ring r_dest) |
---|
11 | { |
---|
12 | if (src==NULL) return NULL; |
---|
13 | |
---|
14 | /* PrintS("src: "); p_Write(src, r_src); PrintLn(); */ |
---|
15 | |
---|
16 | // p_Test(src, r_src); // may fail due to wrong monomial order |
---|
17 | spolyrec dest_s; |
---|
18 | |
---|
19 | poly dest = &dest_s; |
---|
20 | PR_INIT_EVECTOR_COPY(r_src, r_dest); |
---|
21 | |
---|
22 | poly p = src; src = NULL; |
---|
23 | while (p != NULL) |
---|
24 | { |
---|
25 | pNext(dest) = (poly) PR_ALLOC_MONOM(r_dest); pIter(dest); |
---|
26 | |
---|
27 | p_SetCoeff0(dest, PR_NCOPY(p_GetCoeff(p, r_src), r_src), r_dest); |
---|
28 | PR_CPY_EVECTOR(dest, r_dest, p, r_src); |
---|
29 | |
---|
30 | { poly tmp = pNext(p); PR_DELETE_MONOM(p, r_src); p = tmp; } |
---|
31 | } |
---|
32 | pNext(dest) = NULL; |
---|
33 | dest = pNext(&dest_s); |
---|
34 | PR_SORT_POLY(dest, r_dest, r_src); |
---|
35 | p_Test(dest, r_dest); |
---|
36 | return dest; |
---|
37 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.