41 #ifdef HAVE_DYNAMIC_LOADING 57 package currPack = NULL;
58 package basePack = NULL;
87 assume((level>=0) && (level<=1000));
93 int less4=(i < (1<<24));
98 if ((l==0)||(l==level))
103 if (less4 || (0 == strcmp(s+4,id_+4)))
105 if (l==level)
return h;
132 return (
void*)n2Init(0,
NULL);
134 return (
void*)p2Init(0,
NULL);
144 WerrorS(
"need basering for polyBucket");
149 return (
void *)
new intvec();
156 return (
void *)
n_Init(0, coeffs_BIGINT);
161 return (
void*)
idInit(1,1);
183 package pa=(package)omAlloc0Bin(sip_package_bin);
209 #ifdef BLACKBOX_DEVEL 210 Print(
"bb-type %d\n",t);
214 return (
void *)bb->blackbox_Init(bb);
217 Werror(
"unknown type in idrecDataInit:%d",t);
258 memset(&tmp,0,
sizeof(
sleftv));
280 if ((h=(*root)->
get(s,lev))!=
NULL)
288 if (strcmp(s,
"Top")==0)
326 else if (search && (*root !=
IDROOT))
344 *root = (*root)->
set(s, lev, t, init);
352 Werror(
"identifier `%s` in use",s);
375 Werror(
"`%s` is not defined",
id);
399 while ((s!=h) && (s!=
NULL)) s=s->
next;
405 while ((s!=h) && (s!=
NULL)) s=s->
next;
439 || (strcmp(
IDID(h),
"Top")==0))
491 PrintS(
">>?<< not found for kill\n");
516 if (h2==
NULL)
return h;
528 if (h2!=
NULL)
return h2;
530 if (h!=
NULL)
return h;
643 else if (strcmp(request,
"libname") == 0)
return pi->
libname;
644 else if (strcmp(request,
"procname") == 0)
return pi->
procname;
645 else if (strcmp(request,
"type") == 0)
650 case LANG_C:
return "object";
break;
652 default:
return "unknown language";
655 else if (strcmp(request,
"ref") == 0)
658 sprintf(p,
"%d", pi->
ref);
674 if (p->
pi==pi && pi->
ref <= 1)
695 memset((
void *) pi, 0,
sizeof(
procinfo));
708 if( pack->language ==
LANG_C)
710 Print(
"//dlclose(%s)\n",pack->libname);
711 #ifdef HAVE_DYNAMIC_LOADING 742 currPackHdl=this->cPackHdl;
834 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.
sBucket_pt sBucketCreate(const ring r)
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)
BOOLEAN pa(leftv res, leftv args)
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)