My Project  debian-1:4.1.2-p1+ds-2
p_Procs.h
Go to the documentation of this file.
1 /****************************************
2 * Computer Algebra System SINGULAR *
3 ****************************************/
4 
5 /***************************************************************
6  * File: pProcs.h
7  * Purpose: declaration of primitive procs for polys
8  * Author: obachman (Olaf Bachmann)
9  * Created: 8/00
10  *******************************************************************/
11 #ifndef P_PROCS_H
12 #define P_PROCS_H
13 
14 #include "polys/monomials/ring.h"
15 
16 /*------------- p_Proc stuff ----------------------*/
17 typedef poly (*p_Copy_Proc_Ptr)(poly p, const ring r);
18 typedef void (*p_Delete_Proc_Ptr)(poly *p, const ring r);
19 typedef poly (*p_ShallowCopyDelete_Proc_Ptr)(poly p, const ring r, omBin dest_bin);
20 typedef poly (*p_Mult_nn_Proc_Ptr)(poly p, const number n, const ring r);
21 typedef poly (*pp_Mult_nn_Proc_Ptr)(poly p, const number n, const ring r);
22 typedef poly (*p_Mult_mm_Proc_Ptr)(poly p, const poly m, const ring r);
23 typedef poly (*pp_Mult_mm_Proc_Ptr)(poly p, const poly m, const ring r);
24 typedef poly (*pp_Mult_mm_Noether_Proc_Ptr)(poly p, const poly m,
25  const poly spNoether, int &ll,
26  const ring r);
27 typedef poly (*p_Add_q_Proc_Ptr)(poly p, poly q, int & shorter, const ring r);
28 typedef poly (*p_Minus_mm_Mult_qq_Proc_Ptr)(poly p, poly m, poly q,
29  int &shorter, const poly spNoether,
30  const ring r);
31 typedef poly (*p_Neg_Proc_Ptr)(poly p, const ring r);
32 typedef poly (*pp_Mult_Coeff_mm_DivSelect_Proc_Ptr)(poly p, const poly m,
33  int &shorter,const ring r);
35  (poly p,const poly m, const poly a, const poly b, int &shorter,const ring r);
36 
37 typedef poly (*p_Merge_q_Proc_Ptr)(poly p, poly q, const ring r);
38 typedef void (*p_kBucketSetLm_Proc_Ptr)(kBucket_pt bucket);
39 
40 typedef struct p_Procs_s
41 {
48  pp_Mult_mm_Proc_Ptr pp_mm_Mult;
49  pp_Mult_mm_Noether_Proc_Ptr pp_Mult_mm_Noether;
51  p_Mult_mm_Proc_Ptr p_mm_Mult;
56  pp_Mult_Coeff_mm_DivSelectMult_Proc_Ptr pp_Mult_Coeff_mm_DivSelectMult;
58  p_kBucketSetLm_Proc_Ptr p_kBucketSetLm;
59 } pProcs_s;
60 
61 
62 void p_ProcsSet(ring r, p_Procs_s* p_Procs);
63 #ifdef RDEBUG
64 void p_Debug_GetSpecNames(const ring r, const char* &field, const char* &length,
65  const char* &ord);
66 void p_Debug_GetProcNames(const ring r, p_Procs_s* p_Procs);
67 #endif
68 // if set, then dynamic p_procs are used, otherwise static
69 extern const BOOLEAN p_procs_dynamic;
70 
71 #endif /* ! P_PROCS_H */
p_procs_dynamic
const BOOLEAN p_procs_dynamic
Definition: p_Procs_Dynamic.cc:30
p_Neg_Proc_Ptr
poly(* p_Neg_Proc_Ptr)(poly p, const ring r)
Definition: p_Procs.h:29
p_Mult_nn_Proc_Ptr
poly(* p_Mult_nn_Proc_Ptr)(poly p, const number n, const ring r)
Definition: p_Procs.h:18
pp_Mult_mm_Proc_Ptr
poly(* pp_Mult_mm_Proc_Ptr)(poly p, const poly m, const ring r)
Definition: p_Procs.h:21
pp_Mult_Coeff_mm_DivSelect_Proc_Ptr
poly(* pp_Mult_Coeff_mm_DivSelect_Proc_Ptr)(poly p, const poly m, int &shorter, const ring r)
Definition: p_Procs.h:30
p_Add_q_Proc_Ptr
poly(* p_Add_q_Proc_Ptr)(poly p, poly q, int &shorter, const ring r)
Definition: p_Procs.h:25
p_Merge_q
static poly p_Merge_q(poly p, poly q, const ring r)
Definition: p_polys.h:1136
p_Mult_mm
static poly p_Mult_mm(poly p, poly m, const ring r)
Definition: p_polys.h:985
p_Neg
static poly p_Neg(poly p, const ring r)
Definition: p_polys.h:1031
p_Minus_mm_Mult_qq
static poly p_Minus_mm_Mult_qq(poly p, const poly m, const poly q, int &lp, int lq, const poly spNoether, const ring r)
Definition: p_polys.h:994
p_Minus_mm_Mult_qq_Proc_Ptr
poly(* p_Minus_mm_Mult_qq_Proc_Ptr)(poly p, poly m, poly q, int &shorter, const poly spNoether, const ring r)
Definition: p_Procs.h:26
p_ProcsSet
void p_ProcsSet(ring r, p_Procs_s *p_Procs)
Definition: p_Procs_Set.h:139
length
static BOOLEAN length(leftv result, leftv arg)
Definition: interval.cc:263
p_ShallowCopyDelete
static poly p_ShallowCopyDelete(poly p, const ring r, omBin bin)
Definition: p_polys.h:872
pp_Mult_mm
static poly pp_Mult_mm(poly p, poly m, const ring r)
Definition: p_polys.h:975
p_Debug_GetSpecNames
void p_Debug_GetSpecNames(const ring r, const char *&field, const char *&length, const char *&ord)
Definition: p_Procs_Set.h:220
b
CanonicalForm b
Definition: cfModGcd.cc:4044
pp_Mult_nn_Proc_Ptr
poly(* pp_Mult_nn_Proc_Ptr)(poly p, const number n, const ring r)
Definition: p_Procs.h:19
pp_Mult_mm_Noether_Proc_Ptr
poly(* pp_Mult_mm_Noether_Proc_Ptr)(poly p, const poly m, const poly spNoether, int &ll, const ring r)
Definition: p_Procs.h:22
pp_Mult_Coeff_mm_DivSelect
static poly pp_Mult_Coeff_mm_DivSelect(poly p, const poly m, const ring r)
Definition: p_polys.h:1014
p_ShallowCopyDelete_Proc_Ptr
poly(* p_ShallowCopyDelete_Proc_Ptr)(poly p, const ring r, omBin dest_bin)
Definition: p_Procs.h:17
p_Copy
static poly p_Copy(poly p, const ring r)
returns a copy of p
Definition: p_polys.h:796
pp_Mult_Coeff_mm_DivSelectMult_Proc_Ptr
poly(* pp_Mult_Coeff_mm_DivSelectMult_Proc_Ptr)(poly p, const poly m, const poly a, const poly b, int &shorter, const ring r)
Definition: p_Procs.h:33
p_kBucketSetLm_Proc_Ptr
void(* p_kBucketSetLm_Proc_Ptr)(kBucket_pt bucket)
Definition: p_Procs.h:36
p_Delete_Proc_Ptr
void(* p_Delete_Proc_Ptr)(poly *p, const ring r)
Definition: p_Procs.h:16
BOOLEAN
int BOOLEAN
Definition: auxiliary.h:87
p_Copy_Proc_Ptr
poly(* p_Copy_Proc_Ptr)(poly p, const ring r)
Definition: p_Procs.h:15
p_Procs_s
struct p_Procs_s p_Procs_s
Definition: ring.h:22
p_Debug_GetProcNames
void p_Debug_GetProcNames(const ring r, p_Procs_s *p_Procs)
Definition: p_Procs_Set.h:231
ring.h
omBin
omBin_t * omBin
Definition: omStructs.h:11
p_Delete
static void p_Delete(poly *p, const ring r)
Definition: p_polys.h:845
p_Add_q
static poly p_Add_q(poly p, poly q, const ring r)
Definition: p_polys.h:880
m
int m
Definition: cfEzgcd.cc:121
kBucket
Definition: kbuckets.h:177
pp_Mult_nn
static poly pp_Mult_nn(poly p, number n, const ring r)
Definition: p_polys.h:936
p
int p
Definition: cfModGcd.cc:4019
pProcs_s
Definition: p_Procs.h:38
p_Mult_mm_Proc_Ptr
poly(* p_Mult_mm_Proc_Ptr)(poly p, const poly m, const ring r)
Definition: p_Procs.h:20
p_Mult_nn
static poly p_Mult_nn(poly p, number n, const ring r)
Definition: p_polys.h:902
p_Merge_q_Proc_Ptr
poly(* p_Merge_q_Proc_Ptr)(poly p, poly q, const ring r)
Definition: p_Procs.h:35