Go to the source code of this file.
|
void | paCleanUp (package pack) |
|
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 258 of file ipid.cc.
259{
264
266 {
268 {
270 }
271 }
272
273 if ((
h=(*root)->get_level(
s,lev))!=
NULL)
274 {
276 {
278 {
279 if (strcmp(
s,
"Top")==0)
280 {
281 goto errlabel;
282 }
284 }
285 else
286 {
288 {
290 if (strcmp(
f,
"STDIN")==0)
292 else
294 }
297 {
299 }
300 }
301 }
302 else
303 goto errlabel;
304 }
305
307 {
309 {
311 {
313 {
315 if (strcmp(
f,
"STDIN")==0)
317 else
319 }
321
323 }
324 else
325 goto errlabel;
326 }
327 }
328
330 {
332 {
334 {
336 {
338 if (strcmp(
f,
"STDIN")==0)
340 else
342 }
345 {
347 }
348 }
349 else
350 goto errlabel;
351 }
352 }
353 *root = (*root)->
set(
s, lev, t, init);
354#ifndef SING_NDEBUG
355 checkall();
356#endif
357 return *root;
358
359 errlabel:
360
361 Werror(
"identifier `%s` in use",
s);
362
365}
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 560 of file ipid.cc.
561{
563 {
568 if (h2!=
NULL)
return h2;
569 }
570 else
571 {
574 }
578}
idhdl get(const char *s, int lev)
◆ idrecDataInit()
void * idrecDataInit |
( |
int | t | ) |
|
Definition at line 118 of file ipid.cc.
119{
120 switch (t)
121 {
122
123#ifdef SINGULAR_4_2
125 return (
void*)n2Init(0,
NULL);
127 return (
void*)p2Init(0,
NULL);
129#endif
137 else
138 {
139 WerrorS(
"need basering for polyBucket");
141 }
144 return (
void *)
new intvec();
146 {
149 }
156 return (
void*)
idInit(1,1);
158 {
162 }
166 {
170 }
171
175 {
176 package pa=(package)omAlloc0Bin(sip_package_bin);
180 }
182 {
187 }
190
199 default:
200 {
202 {
203#ifdef BLACKBOX_DEVEL
204 Print(
"bb-type %d\n",t);
205#endif
208 return (void *)bb->blackbox_Init(bb);
209 }
210 else
211 Werror(
"unknown type in idrecDataInit:%d",t);
212 break;
213 }
214 }
215 return (void *)0L;
216}
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
INLINE_THIS void Init(int l=0)
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
static 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 823 of file ipid.cc.
824{
826 {
830 }
835 {
840 }
841 if ((
h->Typ()!=
p->Typ()) &&(
p->Typ()!=
DEF_CMD))
842 {
845 }
848 {
851 break;
854 break;
858 break;
861 break;
864 break;
866 {
870 }
871
876 break;
881 break;
884 break;
887 break;
888
889 default:
890 {
893 {
896 }
897
898 break;
899 }
900 }
903 int eff_typ=
h->Typ();
906 {
908 }
912}
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
const char * Tok2Cmdname(int tok)
static int RingDependend(int t)
#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)
◆ ipListFlag()
void ipListFlag |
( |
idhdl | h | ) |
|
Definition at line 598 of file ipid.cc.
599{
601#ifdef HAVE_PLURAL
603#endif
604}
void PrintS(const char *s)
◆ ipMoveId()
void ipMoveId |
( |
idhdl | tomove | ) |
|
Definition at line 683 of file ipid.cc.
684{
686 {
689 {
690
693 }
694 else
695 {
696
698 }
699 }
700}
◆ ipNameList()
Definition at line 606 of file ipid.cc.
607{
609
612
615
619 {
620
625 }
626 return L;
627}
◆ ipNameListLev()
Definition at line 629 of file ipid.cc.
630{
632
635
638
642 {
644 {
645
649 }
651 }
652 return L;
653}
◆ ipSwapId()
Definition at line 658 of file ipid.cc.
659{
661
665
668 {
670 }
671 else
672 {
676 }
677
679 root2=tomove;
681}
◆ killhdl()
Definition at line 393 of file ipid.cc.
394{
399 else
400 {
402 {
404 }
405 else
406 {
412 {
417 else
419 }
420 }
421 }
422}
◆ killhdl2()
Definition at line 424 of file ipid.cc.
425{
426
428
432 {
436 }
437 if (
h->attribute!=
NULL)
438 {
441 else
442 h->attribute->killAll(r);
444 }
446 {
449 || (strcmp(
IDID(
h),
"Top")==0))
450 {
452 return;
453 }
454
456 {
458 {
461 }
466 {
469 hdh = temp;
470 }
473 }
477 }
483
484
490 {
491
493 }
495 {
496
497 hh = *ih;
499 {
501 {
502 PrintS(
">>?<< not found for kill\n");
503 return;
504 }
507 {
509 break;
510 }
511 hh = hhh;
512 }
513 }
515}
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 366 of file ipid.cc.
367{
369 {
371
372
374 {
376 {
379 {
381 return;
382 }
383 }
384 Werror(
"`%s` is not defined",
id);
385 return;
386 }
388 }
389 else
391}
◆ packFindHdl()
◆ paCleanUp()
Definition at line 764 of file ipid.cc.
765{
766 (pack->ref)--;
767 if (pack->ref < 0)
768 {
769 if( pack->language ==
LANG_C)
770 {
771 Print(
"//dlclose(%s)\n",pack->libname);
772#ifdef HAVE_DYNAMIC_LOADING
774#endif
775 }
779 }
780}
int dynl_close(void *handle)
◆ piKill()
Definition at line 726 of file ipid.cc.
727{
730 {
732 {
735 {
736 if (
p->pi==
pi &&
pi->ref <= 1)
737 {
738 Warn(
"`%s` in use, can not be killed",
pi->procname);
740 }
742 }
743 }
748
750 {
751 if (
pi->data.s.body !=
NULL)
753 }
755 {
756 }
758
760 }
762}
◆ piProcinfo()
Definition at line 702 of file ipid.cc.
703{
705 else if (strcmp(request,
"libname") == 0)
return pi->libname;
706 else if (strcmp(request,
"procname") == 0)
return pi->procname;
707 else if (strcmp(request, "type") == 0)
708 {
709 switch (
pi->language)
710 {
712 case LANG_C:
return "object";
break;
714 default: return "unknown language";
715 }
716 }
717 else if (strcmp(request, "ref") == 0)
718 {
720 snprintf(
p,8,
"%d",
pi->ref);
722 }
723 return "??";
724}
◆ basePack
◆ basePackHdl
◆ coeffs_BIGINT
◆ currPack
◆ currPackHdl
◆ currRingHdl
◆ idrec_bin
◆ procstack
◆ sip_command_bin
◆ sip_package_bin