prCopy.h
Go to the documentation of this file.
1 #ifndef PRCOPY_H
2 #define PRCOPY_H
3 /****************************************
4 * Computer Algebra System SINGULAR *
5 ****************************************/
6 /*
7 * ABSTRACT - declarations of functions for Copy/Move/Delete for Polys
8 */
9 
10 struct spolyrec; typedef struct spolyrec polyrec; typedef polyrec* poly;
11 struct ip_sring; typedef struct ip_sring* ring; typedef struct ip_sring const* const_ring;
12 struct sip_sideal; typedef struct sip_sideal *ideal;
13 
14 struct snumber; typedef struct snumber * number;
15 struct n_Procs_s; typedef struct n_Procs_s *coeffs;
16 
17 typedef number (*nMapFunc)(number a, const coeffs src, const coeffs dst);
18 
19 /*************************************************************************
20  *
21  * MoveR, CopyR, ShallowCopyR: operations to get ideals/polys
22  * from source_r to dest_r where
23  * - Coeff(source_r) == Coeff(dest_r)
24  * - dest_r->N <= source_r->N
25  * Move: input is destroyed
26  * ShallowCopy: monomials are copied, coeffs are set
27  * Copy: monomials and coeffs are copied
28  *
29  ************************************************************************/
30 poly prMoveR_NoSort(poly &p, ring r, ring dest_r);
31 poly prMoveR(poly &p, ring r, ring dest_r);
32 poly prCopyR_NoSort(poly p, ring r, ring dest_r);
33 poly prCopyR(poly p, ring r, ring dest_r);
34 poly prShallowCopyR_NoSort(poly p, ring r, ring dest_t);
35 poly prShallowCopyR(poly p, ring r, ring dest_t);
36 poly prHeadR(poly p, ring r, ring dest_rg);
37 
38 ideal idrMoveR_NoSort(ideal &id, ring r, ring dest_r );
39 ideal idrMoveR(ideal &id, ring r, ring dest_r );
40 
41 ideal idrCopyR_NoSort(ideal id, ring r, ring dest_r );
42 ideal idrCopyR(ideal id, ring r, ring dest_r );
43 
44 ideal idrShallowCopyR_NoSort(ideal id, ring r, ring dest_r );
45 ideal idrShallowCopyR(ideal id, ring r, ring dest_r );
46 
47 /// Copy leading terms of id[i] via prHeeadR into dest_r
48 ideal idrHeadR(ideal id, ring r, ring dest_r );
49 
50 poly prMapR(poly src, nMapFunc nMap, ring src_r, ring dest_r);
51 #endif
ideal idrMoveR_NoSort(ideal &id, ring r, ring dest_r)
Definition: prCopy.cc:262
const poly a
Definition: syzextra.cc:212
ideal idrCopyR_NoSort(ideal id, ring r, ring dest_r)
Definition: prCopy.cc:206
'SR_INT' is the type of those integers small enough to fit into 29 bits.
Definition: longrat.h:46
return P p
Definition: myNF.cc:203
poly prShallowCopyR_NoSort(poly p, ring r, ring dest_t)
Definition: prCopy.cc:113
Definition: ring.h:209
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
Definition: prCopy.h:17
ideal idrCopyR(ideal id, ring r, ring dest_r)
Definition: prCopy.cc:193
ideal idrHeadR(ideal id, ring r, ring dest_r)
Copy leading terms of id[i] via prHeeadR into dest_r.
Definition: prCopy.cc:157
ideal idrMoveR(ideal &id, ring r, ring dest_r)
Definition: prCopy.cc:249
const ring r
Definition: syzextra.cc:208
polyrec * poly
Definition: prCopy.h:10
poly prHeadR(poly p, ring r, ring dest_rg)
Definition: prCopy.cc:142
The main handler for Singular numbers which are suitable for Singular polynomials.
poly prCopyR_NoSort(poly p, ring r, ring dest_r)
Definition: prCopy.cc:78
ideal idrShallowCopyR(ideal id, ring r, ring dest_r)
Definition: prCopy.cc:221
poly prMapR(poly src, nMapFunc nMap, ring src_r, ring dest_r)
Definition: prCopy.cc:47
poly prMoveR_NoSort(poly &p, ring r, ring dest_r)
Definition: prCopy.cc:102
poly prShallowCopyR(poly p, ring r, ring dest_t)
Definition: prCopy.cc:118
The following sip_sideal structure has many different uses thoughout Singular. Basic use-cases for it...
Definition: simpleideals.h:18
poly prMoveR(poly &p, ring r, ring dest_r)
Definition: prCopy.cc:91
#define const
Definition: fegetopt.c:41
poly prCopyR(poly p, ring r, ring dest_r)
Definition: prCopy.cc:36
ideal idrShallowCopyR_NoSort(ideal id, ring r, ring dest_r)
Definition: prCopy.cc:226
polyrec * poly
Definition: hilb.h:10