Loading...
Searching...
No Matches
p_Procs.h
Go to the documentation of this file.
/****************************************
* Computer Algebra System SINGULAR *
****************************************/
/***************************************************************
* File: pProcs.h
* Purpose: declaration of primitive procs for polys
* Author: obachman (Olaf Bachmann)
* Created: 8/00
*******************************************************************/
#ifndef P_PROCS_H
#define P_PROCS_H
#include "polys/monomials/ring.h"
/*------------- p_Proc stuff ----------------------*/
typedef poly (*p_Copy_Proc_Ptr)(poly p, const ring r);
typedef void (*p_Delete_Proc_Ptr)(poly *p, const ring r);
typedef poly (*p_ShallowCopyDelete_Proc_Ptr)(poly p, const ring r, omBin dest_bin);
typedef poly (*p_Mult_nn_Proc_Ptr)(poly p, const number n, const ring r);
typedef poly (*pp_Mult_nn_Proc_Ptr)(poly p, const number n, const ring r);
typedef poly (*p_Mult_mm_Proc_Ptr)(poly p, const poly m, const ring r);
typedef poly (*pp_Mult_mm_Proc_Ptr)(poly p, const poly m, const ring r);
typedef poly (*pp_Mult_mm_Noether_Proc_Ptr)(poly p, const poly m,
const poly spNoether, int &ll,
const ring r);
typedef poly (*p_Add_q_Proc_Ptr)(poly p, poly q, int & shorter, const ring r);
typedef poly (*p_Minus_mm_Mult_qq_Proc_Ptr)(poly p, poly m, poly q,
int &shorter, const poly spNoether,
const ring r);
typedef poly (*p_Neg_Proc_Ptr)(poly p, const ring r);
typedef poly (*pp_Mult_Coeff_mm_DivSelect_Proc_Ptr)(poly p, const poly m,
int &shorter,const ring r);
typedef poly (*pp_Mult_Coeff_mm_DivSelectMult_Proc_Ptr)
(poly p,const poly m, const poly a, const poly b, int &shorter,const ring r);
typedef poly (*p_Merge_q_Proc_Ptr)(poly p, poly q, const ring r);
typedef void (*p_kBucketSetLm_Proc_Ptr)(kBucket_pt bucket);
typedef struct p_Procs_s
{
p_Copy_Proc_Ptr p_Copy;
p_Delete_Proc_Ptr p_Delete;
p_ShallowCopyDelete_Proc_Ptr p_ShallowCopyDelete;
p_Mult_nn_Proc_Ptr p_Mult_nn;
pp_Mult_nn_Proc_Ptr pp_Mult_nn;
pp_Mult_mm_Proc_Ptr pp_Mult_mm;
pp_Mult_mm_Proc_Ptr pp_mm_Mult;
pp_Mult_mm_Noether_Proc_Ptr pp_Mult_mm_Noether;
p_Mult_mm_Proc_Ptr p_Mult_mm;
p_Mult_mm_Proc_Ptr p_mm_Mult;
p_Add_q_Proc_Ptr p_Add_q;
p_Minus_mm_Mult_qq_Proc_Ptr p_Minus_mm_Mult_qq;
p_Neg_Proc_Ptr p_Neg;
pp_Mult_Coeff_mm_DivSelect_Proc_Ptr pp_Mult_Coeff_mm_DivSelect;
pp_Mult_Coeff_mm_DivSelectMult_Proc_Ptr pp_Mult_Coeff_mm_DivSelectMult;
p_Merge_q_Proc_Ptr p_Merge_q;
p_kBucketSetLm_Proc_Ptr p_kBucketSetLm;
} pProcs_s;
void p_ProcsSet(ring r, p_Procs_s* p_Procs);
#ifdef RDEBUG
void p_Debug_GetSpecNames(const ring r, const char* &field, const char* &length,
const char* &ord);
void p_Debug_GetProcNames(const ring r, p_Procs_s* p_Procs);
#endif
// if set, then dynamic p_procs are used, otherwise static
extern const BOOLEAN p_procs_dynamic;
#endif /* ! P_PROCS_H */
BOOLEAN
int BOOLEAN
Definition auxiliary.h:88
m
int m
Definition cfEzgcd.cc:128
p
int p
Definition cfModGcd.cc:4086
b
CanonicalForm b
Definition cfModGcd.cc:4111
length
static BOOLEAN length(leftv result, leftv arg)
Definition interval.cc:257
omBin
omBin_t * omBin
Definition omStructs.h:12
p_Merge_q_Proc_Ptr
poly(* p_Merge_q_Proc_Ptr)(poly p, poly q, const ring r)
Definition p_Procs.h:37
p_Add_q_Proc_Ptr
poly(* p_Add_q_Proc_Ptr)(poly p, poly q, int &shorter, const ring r)
Definition p_Procs.h:27
pProcs_s::pp_Mult_Coeff_mm_DivSelect
pp_Mult_Coeff_mm_DivSelect_Proc_Ptr pp_Mult_Coeff_mm_DivSelect
Definition p_Procs.h:55
pProcs_s::p_Neg
p_Neg_Proc_Ptr p_Neg
Definition p_Procs.h:54
pProcs_s::p_Mult_mm
p_Mult_mm_Proc_Ptr p_Mult_mm
Definition p_Procs.h:50
p_kBucketSetLm_Proc_Ptr
void(* p_kBucketSetLm_Proc_Ptr)(kBucket_pt bucket)
Definition p_Procs.h:38
p_ShallowCopyDelete_Proc_Ptr
poly(* p_ShallowCopyDelete_Proc_Ptr)(poly p, const ring r, omBin dest_bin)
Definition p_Procs.h:19
pProcs_s::pp_Mult_Coeff_mm_DivSelectMult
pp_Mult_Coeff_mm_DivSelectMult_Proc_Ptr pp_Mult_Coeff_mm_DivSelectMult
Definition p_Procs.h:56
p_Mult_nn_Proc_Ptr
poly(* p_Mult_nn_Proc_Ptr)(poly p, const number n, const ring r)
Definition p_Procs.h:20
pProcs_s::p_Merge_q
p_Merge_q_Proc_Ptr p_Merge_q
Definition p_Procs.h:57
p_Mult_mm_Proc_Ptr
poly(* p_Mult_mm_Proc_Ptr)(poly p, const poly m, const ring r)
Definition p_Procs.h:22
pProcs_s::p_mm_Mult
p_Mult_mm_Proc_Ptr p_mm_Mult
Definition p_Procs.h:51
p_Neg_Proc_Ptr
poly(* p_Neg_Proc_Ptr)(poly p, const ring r)
Definition p_Procs.h:31
pProcs_s::p_Minus_mm_Mult_qq
p_Minus_mm_Mult_qq_Proc_Ptr p_Minus_mm_Mult_qq
Definition p_Procs.h:53
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:28
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:32
p_ProcsSet
void p_ProcsSet(ring r, p_Procs_s *p_Procs)
Definition p_Procs_Set.h:141
pp_Mult_nn_Proc_Ptr
poly(* pp_Mult_nn_Proc_Ptr)(poly p, const number n, const ring r)
Definition p_Procs.h:21
pProcs_s::p_Add_q
p_Add_q_Proc_Ptr p_Add_q
Definition p_Procs.h:52
pp_Mult_mm_Proc_Ptr
poly(* pp_Mult_mm_Proc_Ptr)(poly p, const poly m, const ring r)
Definition p_Procs.h:23
pProcs_s::p_ShallowCopyDelete
p_ShallowCopyDelete_Proc_Ptr p_ShallowCopyDelete
Definition p_Procs.h:44
pProcs_s::p_Delete
p_Delete_Proc_Ptr p_Delete
Definition p_Procs.h:43
pProcs_s::p_Copy
p_Copy_Proc_Ptr p_Copy
Definition p_Procs.h:42
pProcs_s::pp_Mult_nn
pp_Mult_nn_Proc_Ptr pp_Mult_nn
Definition p_Procs.h:46
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:24
pProcs_s::p_kBucketSetLm
p_kBucketSetLm_Proc_Ptr p_kBucketSetLm
Definition p_Procs.h:58
p_Debug_GetProcNames
void p_Debug_GetProcNames(const ring r, p_Procs_s *p_Procs)
Definition p_Procs_Set.h:232
p_Debug_GetSpecNames
void p_Debug_GetSpecNames(const ring r, const char *&field, const char *&length, const char *&ord)
Definition p_Procs_Set.h:221
pProcs_s::pp_Mult_mm_Noether
pp_Mult_mm_Noether_Proc_Ptr pp_Mult_mm_Noether
Definition p_Procs.h:49
p_Copy_Proc_Ptr
poly(* p_Copy_Proc_Ptr)(poly p, const ring r)
Definition p_Procs.h:17
pProcs_s::pp_Mult_mm
pp_Mult_mm_Proc_Ptr pp_Mult_mm
Definition p_Procs.h:47
p_procs_dynamic
const BOOLEAN p_procs_dynamic
Definition p_Procs_Dynamic.cc:30
pProcs_s::p_Mult_nn
p_Mult_nn_Proc_Ptr p_Mult_nn
Definition p_Procs.h:45
pProcs_s::pp_mm_Mult
pp_Mult_mm_Proc_Ptr pp_mm_Mult
Definition p_Procs.h:48
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:35
p_Delete_Proc_Ptr
void(* p_Delete_Proc_Ptr)(poly *p, const ring r)
Definition p_Procs.h:18
pProcs_s
Definition p_Procs.h:41
ring.h
p_Procs_s
struct p_Procs_s p_Procs_s
Definition ring.h:24
kBucket_pt
kBucket * kBucket_pt
Definition ring.h:26