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 {
320 }
321 }
322 }
323 else
324 goto errlabel;
325 }
326
328 {
330 {
332 {
334 {
336 if (strcmp(
f,
"STDIN")==0)
338 else
340 }
342
344 }
345 else
346 goto errlabel;
347 }
348 }
349
351 {
353 {
355 {
357 {
359 if (strcmp(
f,
"STDIN")==0)
361 else
363 }
366 {
368 }
369 }
370 else
371 goto errlabel;
372 }
373 }
374 *root = (*root)->
set(
s, lev, t, init);
375#ifndef SING_NDEBUG
376 checkall();
377#endif
378 return *root;
379
380 errlabel:
381
382 Werror(
"identifier `%s` in use",
s);
383
386}
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 581 of file ipid.cc.
582{
584 {
589 if (h2!=
NULL)
return h2;
590 }
591 else
592 {
595 }
599}
◆ 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
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 844 of file ipid.cc.
845{
847 {
851 }
856 {
861 }
862 if ((
h->Typ()!=
p->Typ()) &&(
p->Typ()!=
DEF_CMD))
863 {
866 }
869 {
872 break;
875 break;
879 break;
882 break;
885 break;
887 {
891 }
892
897 break;
902 break;
905 break;
908 break;
909
910 default:
911 Werror(
"unknown type %d",
p->Typ());
913 }
916 int eff_typ=
h->Typ();
919 {
921 }
925}
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
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)
◆ 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 619 of file ipid.cc.
620{
622#ifdef HAVE_PLURAL
624#endif
625}
void PrintS(const char *s)
◆ ipMoveId()
void ipMoveId |
( |
idhdl |
tomove | ) |
|
Definition at line 704 of file ipid.cc.
705{
707 {
710 {
711
714 }
715 else
716 {
717
719 }
720 }
721}
◆ ipNameList()
Definition at line 627 of file ipid.cc.
628{
630
633
636
640 {
641
646 }
647 return L;
648}
INLINE_THIS void Init(int l=0)
◆ ipNameListLev()
Definition at line 650 of file ipid.cc.
651{
653
656
659
663 {
665 {
666
670 }
672 }
673 return L;
674}
◆ ipSwapId()
Definition at line 679 of file ipid.cc.
680{
682
686
689 {
691 }
692 else
693 {
697 }
698
700 root2=tomove;
702}
◆ killhdl()
Definition at line 414 of file ipid.cc.
415{
420 else
421 {
423 {
425 }
426 else
427 {
433 {
438 else
440 }
441 }
442 }
443}
◆ killhdl2()
Definition at line 445 of file ipid.cc.
446{
447
449
453 {
457 }
458 if (
h->attribute!=
NULL)
459 {
462 else
463 h->attribute->killAll(r);
465 }
467 {
470 || (strcmp(
IDID(
h),
"Top")==0))
471 {
473 return;
474 }
475
477 {
479 {
482 }
487 {
490 hdh = temp;
491 }
494 }
498 }
504
505
511 {
512
514 }
516 {
517
518 hh = *ih;
520 {
522 {
523 PrintS(
">>?<< not found for kill\n");
524 return;
525 }
528 {
530 break;
531 }
532 hh = hhh;
533 }
534 }
536}
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 387 of file ipid.cc.
388{
390 {
392
393
395 {
397 {
400 {
402 return;
403 }
404 }
405 Werror(
"`%s` is not defined",
id);
406 return;
407 }
409 }
410 else
412}
◆ packFindHdl()
◆ paCleanUp()
Definition at line 785 of file ipid.cc.
786{
787 (pack->ref)--;
788 if (pack->ref < 0)
789 {
790 if( pack->language ==
LANG_C)
791 {
792 Print(
"//dlclose(%s)\n",pack->libname);
793#ifdef HAVE_DYNAMIC_LOADING
795#endif
796 }
800 }
801}
int dynl_close(void *handle)
◆ piKill()
Definition at line 747 of file ipid.cc.
748{
751 {
753 {
756 {
757 if (
p->pi==
pi &&
pi->ref <= 1)
758 {
759 Warn(
"`%s` in use, can not be killed",
pi->procname);
761 }
763 }
764 }
769
771 {
772 if (
pi->data.s.body !=
NULL)
774 }
776 {
777 }
779
781 }
783}
◆ piProcinfo()
Definition at line 723 of file ipid.cc.
724{
726 else if (strcmp(request,
"libname") == 0)
return pi->libname;
727 else if (strcmp(request,
"procname") == 0)
return pi->procname;
728 else if (strcmp(request, "type") == 0)
729 {
730 switch (
pi->language)
731 {
733 case LANG_C:
return "object";
break;
735 default: return "unknown language";
736 }
737 }
738 else if (strcmp(request, "ref") == 0)
739 {
741 sprintf(
p,
"%d",
pi->ref);
743 }
744 return "??";
745}
◆ basePack
◆ basePackHdl
◆ coeffs_BIGINT
◆ currPack
◆ currPackHdl
◆ currRingHdl
◆ idrec_bin
◆ procstack
◆ sip_command_bin
◆ sip_package_bin