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 256 of file ipid.cc.
257{
262
264 {
266 {
268 }
269 }
270
271 if ((
h=(*root)->get_level(
s,lev))!=
NULL)
272 {
274 {
276 {
277 if (strcmp(
s,
"Top")==0)
278 {
279 goto errlabel;
280 }
282 }
283 else
284 {
286 {
288 if (strcmp(
f,
"STDIN")==0)
290 else
292 }
295 {
297 }
298 }
299 }
300 else
301 goto errlabel;
302 }
303
305 {
307 {
309 {
311 {
313 if (strcmp(
f,
"STDIN")==0)
315 else
317 }
319
321 }
322 else
323 goto errlabel;
324 }
325 }
326
328 {
330 {
332 {
334 {
336 if (strcmp(
f,
"STDIN")==0)
338 else
340 }
343 {
345 }
346 }
347 else
348 goto errlabel;
349 }
350 }
351 *root = (*root)->
set(
s, lev, t, init);
352#ifndef SING_NDEBUG
353 checkall();
354#endif
355 return *root;
356
357 errlabel:
358
359 Werror(
"identifier `%s` in use",
s);
360
363}
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 558 of file ipid.cc.
559{
561 {
566 if (h2!=
NULL)
return h2;
567 }
568 else
569 {
572 }
576}
◆ idrecDataInit()
void * idrecDataInit |
( |
int | t | ) |
|
Definition at line 116 of file ipid.cc.
117{
118 switch (t)
119 {
120
121#ifdef SINGULAR_4_2
123 return (
void*)n2Init(0,
NULL);
125 return (
void*)p2Init(0,
NULL);
127#endif
135 else
136 {
137 WerrorS(
"need basering for polyBucket");
139 }
142 return (
void *)
new intvec();
144 {
147 }
154 return (
void*)
idInit(1,1);
156 {
160 }
164 {
168 }
169
173 {
174 package pa=(package)omAlloc0Bin(sip_package_bin);
178 }
180 {
185 }
188
197 default:
198 {
200 {
201#ifdef BLACKBOX_DEVEL
202 Print(
"bb-type %d\n",t);
203#endif
206 return (void *)bb->blackbox_Init(bb);
207 }
208 else
209 Werror(
"unknown type in idrecDataInit:%d",t);
210 break;
211 }
212 }
213 return (void *)0L;
214}
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
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 821 of file ipid.cc.
822{
824 {
828 }
833 {
838 }
839 if ((
h->Typ()!=
p->Typ()) &&(
p->Typ()!=
DEF_CMD))
840 {
843 }
846 {
849 break;
852 break;
856 break;
859 break;
862 break;
864 {
868 }
869
874 break;
879 break;
882 break;
885 break;
886
887 default:
888 {
891 {
894 }
895
896 break;
897 }
898 }
901 int eff_typ=
h->Typ();
904 {
906 }
910}
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 596 of file ipid.cc.
597{
599#ifdef HAVE_PLURAL
601#endif
602}
void PrintS(const char *s)
◆ ipMoveId()
void ipMoveId |
( |
idhdl | tomove | ) |
|
Definition at line 681 of file ipid.cc.
682{
684 {
687 {
688
691 }
692 else
693 {
694
696 }
697 }
698}
◆ ipNameList()
Definition at line 604 of file ipid.cc.
605{
607
610
613
617 {
618
623 }
624 return L;
625}
INLINE_THIS void Init(int l=0)
◆ ipNameListLev()
Definition at line 627 of file ipid.cc.
628{
630
633
636
640 {
642 {
643
647 }
649 }
650 return L;
651}
◆ ipSwapId()
Definition at line 656 of file ipid.cc.
657{
659
663
666 {
668 }
669 else
670 {
674 }
675
677 root2=tomove;
679}
◆ killhdl()
Definition at line 391 of file ipid.cc.
392{
397 else
398 {
400 {
402 }
403 else
404 {
410 {
415 else
417 }
418 }
419 }
420}
◆ killhdl2()
Definition at line 422 of file ipid.cc.
423{
424
426
430 {
434 }
435 if (
h->attribute!=
NULL)
436 {
439 else
440 h->attribute->killAll(r);
442 }
444 {
447 || (strcmp(
IDID(
h),
"Top")==0))
448 {
450 return;
451 }
452
454 {
456 {
459 }
464 {
467 hdh = temp;
468 }
471 }
475 }
481
482
488 {
489
491 }
493 {
494
495 hh = *ih;
497 {
499 {
500 PrintS(
">>?<< not found for kill\n");
501 return;
502 }
505 {
507 break;
508 }
509 hh = hhh;
510 }
511 }
513}
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 364 of file ipid.cc.
365{
367 {
369
370
372 {
374 {
377 {
379 return;
380 }
381 }
382 Werror(
"`%s` is not defined",
id);
383 return;
384 }
386 }
387 else
389}
◆ packFindHdl()
◆ paCleanUp()
Definition at line 762 of file ipid.cc.
763{
764 (pack->ref)--;
765 if (pack->ref < 0)
766 {
767 if( pack->language ==
LANG_C)
768 {
769 Print(
"//dlclose(%s)\n",pack->libname);
770#ifdef HAVE_DYNAMIC_LOADING
772#endif
773 }
777 }
778}
int dynl_close(void *handle)
◆ piKill()
Definition at line 724 of file ipid.cc.
725{
728 {
730 {
733 {
734 if (
p->pi==
pi &&
pi->ref <= 1)
735 {
736 Warn(
"`%s` in use, can not be killed",
pi->procname);
738 }
740 }
741 }
746
748 {
749 if (
pi->data.s.body !=
NULL)
751 }
753 {
754 }
756
758 }
760}
◆ piProcinfo()
Definition at line 700 of file ipid.cc.
701{
703 else if (strcmp(request,
"libname") == 0)
return pi->libname;
704 else if (strcmp(request,
"procname") == 0)
return pi->procname;
705 else if (strcmp(request, "type") == 0)
706 {
707 switch (
pi->language)
708 {
710 case LANG_C:
return "object";
break;
712 default: return "unknown language";
713 }
714 }
715 else if (strcmp(request, "ref") == 0)
716 {
718 snprintf(
p,8,
"%d",
pi->ref);
720 }
721 return "??";
722}
◆ basePack
◆ basePackHdl
◆ currPack
◆ currPackHdl
◆ currRingHdl
◆ idrec_bin
◆ procstack
◆ sip_command_bin
◆ sip_package_bin