43 #ifdef HAVE_DYNAMIC_LOADING 59 package currPack = NULL;
60 package basePack = NULL;
89 assume((level>=0) && (level<=1000));
95 int less4=(i < (1<<24));
100 if ((l==0)||(l==level))
105 if (less4 || (0 == strcmp(s+4,id_+4)))
107 if (l==level)
return h;
134 return (
void*)n2Init(0,
NULL);
136 return (
void*)p2Init(0,
NULL);
143 return (
void *)
new intvec();
150 return (
void *)
n_Init(0, coeffs_BIGINT);
154 return (
void*)
idInit(1,1);
176 package pa=(package)omAlloc0Bin(sip_package_bin);
202 #ifdef BLACKBOX_DEVEL 203 Print(
"bb-type %d\n",t);
207 return (
void *)bb->blackbox_Init(bb);
210 Werror(
"unknown type in idrecDataInit:%d",t);
250 memset(&tmp,0,
sizeof(
sleftv));
272 if ((h=(*root)->
get(s,lev))!=
NULL)
280 if (strcmp(s,
"Top")==0)
318 else if (search && (*root !=
IDROOT))
336 *root = (*root)->
set(s, lev, t, init);
344 Werror(
"identifier `%s` in use",s);
367 Werror(
"`%s` is not defined",
id);
391 while ((s!=h) && (s!=
NULL)) s=s->
next;
397 while ((s!=h) && (s!=
NULL)) s=s->
next;
431 || (strcmp(
IDID(h),
"Top")==0))
483 PrintS(
">>?<< not found for kill\n");
508 if (h2==
NULL)
return h;
520 if (h2!=
NULL)
return h2;
522 if (h!=
NULL)
return h;
635 else if (strcmp(request,
"libname") == 0)
return pi->
libname;
636 else if (strcmp(request,
"procname") == 0)
return pi->
procname;
637 else if (strcmp(request,
"type") == 0)
642 case LANG_C:
return "object";
break;
644 default:
return "unknown language";
647 else if (strcmp(request,
"ref") == 0)
650 sprintf(p,
"%d", pi->
ref);
666 if (p->
pi==pi && pi->
ref <= 1)
687 memset((
void *) pi, 0,
sizeof(
procinfo));
700 if( pack->language ==
LANG_C)
702 Print(
"//dlclose(%s)\n",pack->libname);
703 #ifdef HAVE_DYNAMIC_LOADING 734 currPackHdl=this->cPackHdl;
826 int eff_typ=h->
Typ();
void * idrecDataInit(int t)
CanonicalForm map(const CanonicalForm &primElem, const Variable &alpha, const CanonicalForm &F, const Variable &beta)
map from to such that is mapped onto
void ipMoveId(idhdl tomove)
const CanonicalForm int s
idhdl ggetid(const char *n)
Class used for (list of) interpreter objects.
void killAll(const ring r)
#define idDelete(H)
delete an ideal
Compatiblity layer for legacy polynomial operations (over currRing)
void paCleanUp(package pack)
void killid(const char *id, idhdl *ih)
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
#define omFreeSize(addr, size)
void WerrorS(const char *s)
BOOLEAN piKill(procinfov pi)
char * String(BOOLEAN typed=FALSE)
void paKill(package pack)
idhdl get(const char *s, int lev)
char * String(void *d=NULL, BOOLEAN typed=FALSE, int dim=1)
Called for conversion to string (used by string(..), write(..),..)
void killhdl2(idhdl h, idhdl *ih, ring r)
idhdl enterid(const char *s, int lev, int t, idhdl *root, BOOLEAN init, BOOLEAN search)
const char * piProcinfo(procinfov pi, const char *request)
lists ipNameListLev(idhdl root, int lev)
int search(const CFArray &A, const CanonicalForm &F, int i, int j)
search for F in A between index i and j
The main handler for Singular numbers which are suitable for Singular polynomials.
void s_internalDelete(const int t, void *d, const ring r)
void PrintS(const char *s)
lists ipNameList(idhdl root)
INLINE_THIS void Init(int l=0)
#define omGetSpecBin(size)
ideal idInit(int idsize, int rank)
initialise an ideal / module
int dynl_close(void *handle)
void killhdl(idhdl h, package proot)
void CleanUp(ring r=currRing)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
idhdl packFindHdl(package r)
#define omCheckAddr(addr)
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
void iiCheckPack(package &p)
#define omFreeBin(addr, bin)
BOOLEAN lRingDependend(lists L)
static int ipSwapId(idhdl tomove, idhdl &root1, idhdl &root2)
void nKillChar(coeffs r)
undo all initialisations
void Werror(const char *fmt,...)
idhdl set(const char *s, int lev, int t, BOOLEAN init=TRUE)
blackbox * getBlackboxStuff(const int t)
return the structure to the type given by t
BOOLEAN iiAssign(leftv l, leftv r, BOOLEAN toplevel)