mod_main.cc
Go to the documentation of this file.
1 #include <kernel/mod2.h>
2 
3 #include <Singular/mod_lib.h>
4 
5 #include <Singular/blackbox.h>
6 
7 #include <Singular/tok.h>
8 #include <Singular/ipid.h>
9 #include <Singular/lists.h>
10 
11 #include <dlfcn.h>
12 
13 #include "bigintm.h"
14 
15 namespace
16 {
17 
18 static inline void NoReturn(leftv& res)
19 {
20  res->rtyp = NONE;
21  res->data = NULL;
22 }
23 
24 
25 /// listing all blackbox types (debug stuff)
26 static BOOLEAN printBlackboxTypes0(leftv __res, leftv /*__v*/)
27 {
28  NoReturn(__res);
30  return FALSE;
31 }
32 
33 /// init the bigintm (a sample blackbox) type
34 static BOOLEAN bigintm_setup0(leftv __res, leftv /*__v*/)
35 {
36  NoReturn(__res);
37  return bigintm_setup();
38 }
39 
40 }
41 
42 
43 extern "C" int SI_MOD_INIT(bigintm)(SModulFunctions* psModulFunctions)
44 {
45  psModulFunctions->iiAddCproc(currPack->libname,(char*)"printBlackboxTypes",FALSE, printBlackboxTypes0);
46  psModulFunctions->iiAddCproc(currPack->libname,(char*)"bigintm_setup",FALSE, bigintm_setup0);
47 
48  // Q: should we call 'bigintm_setup' here??!?!?
49  return MAX_TOK;
50 }
Class used for (list of) interpreter objects.
Definition: subexpr.h:83
static void NoReturn(leftv &res)
Definition: mod_main.cc:90
#define FALSE
Definition: auxiliary.h:94
Definition: tok.h:213
BOOLEAN bigintm_setup()
Definition: bigintm.cc:276
int SI_MOD_INIT() bigintm(SModulFunctions *psModulFunctions)
Definition: mod_main.cc:43
void * data
Definition: subexpr.h:89
void printBlackboxTypes()
list all defined type (for debugging)
Definition: blackbox.cc:208
poly res
Definition: myNF.cc:322
#define NULL
Definition: omList.c:10
package currPack
Definition: ipid.cc:63
int rtyp
Definition: subexpr.h:92
int BOOLEAN
Definition: auxiliary.h:85
#define NONE
Definition: tok.h:216