source: git/Singular/p_Procs.h @ 512a2b

spielwiese
Last change on this file since 512a2b was 512a2b, checked in by Olaf Bachmann <obachman@…>, 24 years ago
p_polys.h git-svn-id: file:///usr/local/Singular/svn/trunk@4606 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 2.1 KB
Line 
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 *  Version: $Id: p_Procs.h,v 1.5 2000-09-18 09:19:27 obachman Exp $
11 *******************************************************************/
12#ifndef P_PROCS_H
13#define P_PROCS_H
14#include "structs.h"
15
16/*------------- p_Proc stuff ----------------------*/
17typedef poly (*p_Copy_Proc_Ptr)(poly p, const ring r);
18typedef void (*p_Delete_Proc_Ptr)(poly *p, const ring r);
19typedef poly (*p_ShallowCopyDelete_Proc_Ptr)(poly p, const ring r, omBin_s* dest_bin);
20typedef poly (*p_Mult_nn_Proc_Ptr)(poly p, number n, const ring r);
21typedef poly (*pp_Mult_nn_Proc_Ptr)(poly p, number n, const ring r);
22typedef poly (*p_Mult_mm_Proc_Ptr)(poly p, poly m, const ring r);
23typedef poly (*pp_Mult_mm_Proc_Ptr)(poly p, poly m, 
24                                   poly spNoether, const ring r);
25typedef poly (*p_Add_q_Proc_Ptr)(poly p, poly q, int & shorter, const ring r);
26typedef poly (*p_Minus_mm_Mult_qq_Proc_Ptr)(poly p, poly m, poly q, 
27                                                int &shorter, poly spNoether, 
28                                                const ring r);
29typedef poly (*p_Neg_Proc_Ptr)(poly p, const ring r);
30
31typedef struct p_Procs_s
32{
33  p_Copy_Proc_Ptr               p_Copy;
34  p_Delete_Proc_Ptr             p_Delete;
35  p_ShallowCopyDelete_Proc_Ptr  p_ShallowCopyDelete;
36  p_Mult_nn_Proc_Ptr            p_Mult_nn;
37  pp_Mult_nn_Proc_Ptr           pp_Mult_nn;
38  pp_Mult_mm_Proc_Ptr           pp_Mult_mm;
39  p_Mult_mm_Proc_Ptr            p_Mult_mm;
40  p_Add_q_Proc_Ptr              p_Add_q;
41  p_Minus_mm_Mult_qq_Proc_Ptr   p_Minus_mm_Mult_qq;
42  p_Neg_Proc_Ptr                p_Neg;
43} pProcs_s;
44
45 
46void p_SetProcs(ring r, p_Procs_s* p_Procs);
47#ifdef RDEBUG
48void p_Debug_GetSpecNames(const ring r, char* &field, char* &length, 
49                          char* &ord);
50void p_Debug_GetProcNames(const ring r, p_Procs_s* p_Procs);
51#endif
52
53#endif /* ! P_PROCS_H */
Note: See TracBrowser for help on using the repository browser.