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 278 of file ipid.cc.
279{
284
286 {
288 {
290 }
291 }
292
293 if ((
h=(*root)->get_level(
s,lev))!=
NULL)
294 {
296 {
298 {
299 if (strcmp(
s,
"Top")==0)
300 {
301 goto errlabel;
302 }
304 }
305 else
306 {
308 {
310 if (strcmp(
f,
"STDIN")==0)
312 else
314 }
317 }
318 }
319 else
320 goto errlabel;
321 }
322
324 {
326 {
328 {
330 {
332 if (strcmp(
f,
"STDIN")==0)
334 else
336 }
339 }
340 else
341 goto errlabel;
342 }
343 }
344
346 {
348 {
350 {
352 {
354 if (strcmp(
f,
"STDIN")==0)
356 else
358 }
361 }
362 else
363 goto errlabel;
364 }
365 }
366 *root = (*root)->
set(
s, lev, t, init);
367#ifndef SING_NDEBUG
368 checkall();
369#endif
370 return *root;
371
372 errlabel:
373
374 Werror(
"identifier `%s` in use",
s);
375
378}
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)
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 571 of file ipid.cc.
572{
574 {
579 if (h2!=
NULL)
return h2;
580 }
581 else
582 {
585 }
589}
◆ idrecDataInit()
| void * idrecDataInit |
( |
int |
t | ) |
|
Definition at line 139 of file ipid.cc.
140{
141 switch (t)
142 {
143
144#ifdef SINGULAR_4_2
146 return (
void*)n2Init(0,
NULL);
148 return (
void*)p2Init(0,
NULL);
150#endif
156 else
157 {
158 WerrorS(
"need basering for polyBucket");
160 }
163 return (
void *)
new intvec();
165 {
168 }
175 return (
void*)
idInit(1,1);
177 {
181 }
185 {
189 }
190
194 {
195 package pa=(package)omAlloc0Bin(sip_package_bin);
199 }
201 {
206 }
209
218 default:
219 {
221 {
222#ifdef BLACKBOX_DEVEL
223 Print(
"bb-type %d\n",t);
224#endif
227 return (void *)bb->blackbox_Init(bb);
228 }
229 else
230 Werror(
"unknown type in idrecDataInit:%d",t);
231 break;
232 }
233 }
234 return (void *)0L;
235}
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 834 of file ipid.cc.
835{
837 {
841 }
846 {
851 }
852 if ((
h->Typ()!=
p->Typ()) &&(
p->Typ()!=
DEF_CMD))
853 {
856 }
859 {
862 break;
865 break;
869 break;
872 break;
875 break;
877 {
881 }
882
887 break;
892 break;
895 break;
898 break;
899
900 default:
901 Werror(
"unknown type %d",
p->Typ());
903 }
906 int eff_typ=
h->Typ();
909 {
911 }
915}
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 609 of file ipid.cc.
610{
612#ifdef HAVE_PLURAL
614#endif
615}
void PrintS(const char *s)
◆ ipMoveId()
| void ipMoveId |
( |
idhdl |
tomove | ) |
|
Definition at line 694 of file ipid.cc.
695{
697 {
700 {
701
704 }
705 else
706 {
707
709 }
710 }
711}
◆ ipNameList()
Definition at line 617 of file ipid.cc.
618{
620
623
626
630 {
631
636 }
637 return L;
638}
INLINE_THIS void Init(int l=0)
◆ ipNameListLev()
Definition at line 640 of file ipid.cc.
641{
643
646
649
653 {
655 {
656
660 }
662 }
663 return L;
664}
◆ ipSwapId()
Definition at line 669 of file ipid.cc.
670{
672
676
679 {
681 }
682 else
683 {
687 }
688
690 root2=tomove;
692}
◆ killhdl()
Definition at line 406 of file ipid.cc.
407{
412 else
413 {
415 {
417 }
418 else
419 {
425 {
430 else
432 }
433 }
434 }
435}
◆ killhdl2()
Definition at line 437 of file ipid.cc.
438{
439
441
445 {
449 }
450 if (
h->attribute!=
NULL)
451 {
454 else
455 h->attribute->killAll(r);
457 }
459 {
461 || (strcmp(
IDID(
h),
"Top")==0))
462 {
464 return;
465 }
466
468 {
470 {
473 }
478 {
481 hdh = temp;
482 }
485 }
489 }
494
495
501 {
502
504 }
506 {
507
508 hh = *ih;
510 {
512 {
513 PrintS(
">>?<< not found for kill\n");
514 return;
515 }
518 {
520 break;
521 }
522 hh = hhh;
523 }
524 }
526}
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 379 of file ipid.cc.
380{
382 {
384
385
387 {
389 {
392 {
394 return;
395 }
396 }
397 Werror(
"`%s` is not defined",
id);
398 return;
399 }
401 }
402 else
404}
◆ packFindHdl()
◆ paCleanUp()
Definition at line 775 of file ipid.cc.
776{
777 (pack->ref)--;
778 if (pack->ref < 0)
779 {
780 if( pack->language ==
LANG_C)
781 {
782 Print(
"//dlclose(%s)\n",pack->libname);
783#ifdef HAVE_DYNAMIC_LOADING
785#endif
786 }
790 }
791}
int dynl_close(void *handle)
◆ piKill()
Definition at line 737 of file ipid.cc.
738{
741 {
743 {
746 {
747 if (
p->pi==
pi &&
pi->ref <= 1)
748 {
749 Warn(
"`%s` in use, can not be killed",
pi->procname);
751 }
753 }
754 }
759
761 {
762 if (
pi->data.s.body !=
NULL)
764 }
766 {
767 }
769
771 }
773}
◆ piProcinfo()
Definition at line 713 of file ipid.cc.
714{
716 else if (strcmp(request,
"libname") == 0)
return pi->libname;
717 else if (strcmp(request,
"procname") == 0)
return pi->procname;
718 else if (strcmp(request, "type") == 0)
719 {
720 switch (
pi->language)
721 {
723 case LANG_C:
return "object";
break;
725 default: return "unknown language";
726 }
727 }
728 else if (strcmp(request, "ref") == 0)
729 {
731 sprintf(
p,
"%d",
pi->ref);
733 }
734 return "??";
735}
◆ basePack
◆ basePackHdl
◆ coeffs_BIGINT
◆ currPack
◆ currPackHdl
◆ currRingHdl
◆ idrec_bin
◆ procstack
◆ sip_command_bin
◆ sip_package_bin