Go to the source code of this file.
|
void | paCleanUp (package pack) |
|
static long | iiS2I (const char *s) |
|
void * | idrecDataInit (int t) |
|
idhdl | enterid (const char *s, int lev, int t, idhdl *root, BOOLEAN init, BOOLEAN search) |
|
void | killid (const char *id, idhdl *ih) |
|
void | killhdl (idhdl h, package proot) |
|
void | killhdl2 (idhdl h, idhdl *ih, ring r) |
|
idhdl | ggetid (const char *n) |
|
void | ipListFlag (idhdl h) |
|
lists | ipNameList (idhdl root) |
|
lists | ipNameListLev (idhdl root, int lev) |
|
static int | ipSwapId (idhdl tomove, idhdl &root1, idhdl &root2) |
|
void | ipMoveId (idhdl tomove) |
|
const char * | piProcinfo (procinfov pi, const char *request) |
|
BOOLEAN | piKill (procinfov pi) |
|
idhdl | packFindHdl (package r) |
|
BOOLEAN | iiAlias (leftv p) |
|
◆ enterid()
Definition at line 279 of file ipid.cc.
280{
285
287 {
289 {
291 }
292 }
293
294 if ((
h=(*root)->get_level(
s,lev))!=
NULL)
295 {
297 {
299 {
300 if (strcmp(
s,
"Top")==0)
301 {
302 goto errlabel;
303 }
305 }
306 else
307 {
309 {
311 if (strcmp(
f,
"STDIN")==0)
313 else
315 }
318 }
319 }
320 else
321 goto errlabel;
322 }
323
325 {
327 {
329 {
331 {
333 if (strcmp(
f,
"STDIN")==0)
335 else
337 }
340 }
341 else
342 goto errlabel;
343 }
344 }
345
347 {
349 {
351 {
353 {
355 if (strcmp(
f,
"STDIN")==0)
357 else
359 }
362 }
363 else
364 goto errlabel;
365 }
366 }
367 *root = (*root)->
set(
s, lev, t,
init);
368#ifndef SING_NDEBUG
370#endif
371 return *root;
372
373 errlabel:
374
375 Werror(
"identifier `%s` in use",
s);
376
379}
idhdl set(const char *s, int lev, int t, BOOLEAN init=TRUE)
const CanonicalForm int s
int search(const CFArray &A, const CanonicalForm &F, int i, int j)
search for F in A between index i and j
VAR char my_yylinebuf[80]
void killhdl2(idhdl h, idhdl *ih, ring r)
#define omFreeBinAddr(addr)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
void Werror(const char *fmt,...)
◆ ggetid()
Definition at line 572 of file ipid.cc.
573{
575 {
580 if (h2!=
NULL)
return h2;
581 }
582 else
583 {
586 }
590}
◆ idrecDataInit()
void * idrecDataInit |
( |
int |
t | ) |
|
Definition at line 140 of file ipid.cc.
141{
142 switch (t)
143 {
144
145#ifdef SINGULAR_4_2
147 return (
void*)n2Init(0,
NULL);
149 return (
void*)p2Init(0,
NULL);
151#endif
157 else
158 {
159 WerrorS(
"need basering for polyBucket");
161 }
164 return (
void *)
new intvec();
166 {
169 }
176 return (
void*)
idInit(1,1);
178 {
182 }
186 {
190 }
191
195 {
196 package pa=(package)omAlloc0Bin(sip_package_bin);
200 }
202 {
207 }
210
219 default:
220 {
222 {
223#ifdef BLACKBOX_DEVEL
224 Print(
"bb-type %d\n",t);
225#endif
228 return (void *)bb->blackbox_Init(bb);
229 }
230 else
231 Werror(
"unknown type in idrecDataInit:%d",t);
232 break;
233 }
234 }
235 return (void *)0L;
236}
blackbox * getBlackboxStuff(const int t)
return the structure to the type given by t
CanonicalForm map(const CanonicalForm &primElem, const Variable &alpha, const CanonicalForm &F, const Variable &beta)
map from to such that is mapped onto
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
BOOLEAN pa(leftv res, leftv args)
void WerrorS(const char *s)
sBucket_pt sBucketCreate(const ring r)
ideal idInit(int idsize, int rank)
initialise an ideal / module
◆ iiAlias()
Definition at line 835 of file ipid.cc.
836{
838 {
842 }
847 {
852 }
853 if ((
h->Typ()!=
p->Typ()) &&(
p->Typ()!=
DEF_CMD))
854 {
857 }
860 {
863 break;
866 break;
870 break;
873 break;
876 break;
878 {
882 }
883
888 break;
893 break;
896 break;
899 break;
900
901 default:
902 Werror(
"unknown type %d",
p->Typ());
904 }
907 int eff_typ=
h->Typ();
910 {
912 }
916}
Class used for (list of) interpreter objects.
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
void nKillChar(coeffs r)
undo all initialisations
#define idDelete(H)
delete an ideal
BOOLEAN iiAssign(leftv l, leftv r, BOOLEAN toplevel)
static int ipSwapId(idhdl tomove, idhdl &root1, idhdl &root2)
EXTERN_VAR omBin sleftv_bin
BOOLEAN lRingDependend(lists L)
The main handler for Singular numbers which are suitable for Singular polynomials.
#define omFreeBin(addr, bin)
BOOLEAN RingDependend(int t)
◆ iiS2I()
static long iiS2I |
( |
const char * |
s | ) |
|
|
inlinestatic |
Definition at line 65 of file ipid.cc.
66{
68 strncpy((
char*)&
l,
s,SIZEOF_LONG);
70}
◆ ipListFlag()
void ipListFlag |
( |
idhdl |
h | ) |
|
Definition at line 610 of file ipid.cc.
611{
613#ifdef HAVE_PLURAL
615#endif
616}
void PrintS(const char *s)
◆ ipMoveId()
void ipMoveId |
( |
idhdl |
tomove | ) |
|
Definition at line 695 of file ipid.cc.
696{
698 {
701 {
702
705 }
706 else
707 {
708
710 }
711 }
712}
◆ ipNameList()
Definition at line 618 of file ipid.cc.
619{
621
624
627
631 {
632
637 }
638 return L;
639}
INLINE_THIS void Init(int l=0)
◆ ipNameListLev()
Definition at line 641 of file ipid.cc.
642{
644
647
650
654 {
656 {
657
661 }
663 }
664 return L;
665}
◆ ipSwapId()
Definition at line 670 of file ipid.cc.
671{
673
677
680 {
682 }
683 else
684 {
688 }
689
691 root2=tomove;
693}
◆ killhdl()
Definition at line 407 of file ipid.cc.
408{
413 else
414 {
416 {
418 }
419 else
420 {
426 {
431 else
433 }
434 }
435 }
436}
◆ killhdl2()
Definition at line 438 of file ipid.cc.
439{
440
442
446 {
450 }
451 if (
h->attribute!=
NULL)
452 {
455 else
456 h->attribute->killAll(r);
458 }
460 {
462 || (strcmp(
IDID(
h),
"Top")==0))
463 {
465 return;
466 }
467
469 {
471 {
474 }
479 {
482 hdh = temp;
483 }
486 }
490 }
495
496
502 {
503
505 }
507 {
508
509 hh = *ih;
511 {
513 {
514 PrintS(
">>?<< not found for kill\n");
515 return;
516 }
519 {
521 break;
522 }
523 hh = hhh;
524 }
525 }
527}
idhdl packFindHdl(package r)
void paKill(package pack)
void iiCheckPack(package &p)
void s_internalDelete(const int t, void *d, const ring r)
◆ killid()
Definition at line 380 of file ipid.cc.
381{
383 {
385
386
388 {
390 {
393 {
395 return;
396 }
397 }
398 Werror(
"`%s` is not defined",
id);
399 return;
400 }
402 }
403 else
405}
◆ packFindHdl()
◆ paCleanUp()
Definition at line 776 of file ipid.cc.
777{
778 (pack->ref)--;
779 if (pack->ref < 0)
780 {
781 if( pack->language ==
LANG_C)
782 {
783 Print(
"//dlclose(%s)\n",pack->libname);
784#ifdef HAVE_DYNAMIC_LOADING
786#endif
787 }
791 }
792}
int dynl_close(void *handle)
◆ piKill()
Definition at line 738 of file ipid.cc.
739{
742 {
744 {
747 {
748 if (
p->pi==
pi &&
pi->ref <= 1)
749 {
750 Warn(
"`%s` in use, can not be killed",
pi->procname);
752 }
754 }
755 }
760
762 {
763 if (
pi->data.s.body !=
NULL)
765 }
767 {
768 }
770
772 }
774}
◆ piProcinfo()
Definition at line 714 of file ipid.cc.
715{
717 else if (strcmp(request,
"libname") == 0)
return pi->libname;
718 else if (strcmp(request,
"procname") == 0)
return pi->procname;
719 else if (strcmp(request, "type") == 0)
720 {
721 switch (
pi->language)
722 {
724 case LANG_C:
return "object";
break;
726 default: return "unknown language";
727 }
728 }
729 else if (strcmp(request, "ref") == 0)
730 {
732 sprintf(
p,
"%d",
pi->ref);
734 }
735 return "??";
736}
◆ basePack
◆ basePackHdl
◆ coeffs_BIGINT
◆ currPack
◆ currPackHdl
◆ currRingHdl
◆ idrec_bin
◆ procstack
◆ sip_command_bin
◆ sip_package_bin