98 if (0 == strcmp(
s,
h->name))
135 if ((temp!=
NULL) && (temp->
atyp==t))
138 return defaultReturnValue;
147 if ((temp!=
NULL) && (temp->
atyp==t))
159 WerrorS(
"cannot set ring-dependend objects at this type");
172 WerrorS(
"cannot set attributes of this object");
175 WerrorS(
"cannot set ring-dependend objects at this type");
191 attr temp =
this,temp1;
215 while (temp1->
next!=temp) temp1 = temp1->
next;
236 attr *aa=(
v->Attribute());
239 WerrorS(
"this object cannot have attributes");
248 PrintS(
"attr:isSB, type int\n");
249 haveNoAttribute=
FALSE;
253 PrintS(
"attr:qringNF, type int\n");
254 haveNoAttribute=
FALSE;
258 PrintS(
"attr:cf_class, type int\n");
259 PrintS(
"attr:global, type int\n");
260 PrintS(
"attr:maxExp, type int\n");
261 PrintS(
"attr:ring_cf, type int\n");
263 PrintS(
"attr:isLetterplaceRing, type int\n");
265 PrintS(
"attr:ncgenCount, type int\n");
268 haveNoAttribute=
FALSE;
277 else if(haveNoAttribute)
PrintS(
"no attributes\n");
282 char *
name=(
char *)
b->Data();
287 if (strcmp(
name,
"isSB")==0)
296 res->data=(
void *)(((ideal)
v->Data())->rank);
298 else if ((strcmp(
name,
"global")==0)
302 res->data=(
void *)(((ring)
v->Data())->OrdSgn==1);
304 else if ((strcmp(
name,
"maxExp")==0)
308 res->data=(
void *)(
long)(((ring)
v->Data())->bitmask);
310 else if ((strcmp(
name,
"ring_cf")==0)
316 else if ((strcmp(
name,
"cf_class")==0)
323 res->data=(
void *)(
long)(
cf->type);
325 else if (strcmp(
name,
"qringNF")==0)
332 else if ((strcmp(
name,
"isLetterplaceRing")==0)
336 res->data=(
void *)(
long)(((ring)
v->Data())->isLPring);
338 else if ((strcmp(
name,
"ncgenCount")==0)
342 res->data=(
void *)(
long)(((ring)
v->Data())->LPncGenCount);
347 attr *aa=
v->Attribute();
350 WerrorS(
"this object cannot have attributes");
380 char *
name=(
char *)
b->Data();
381 if (strcmp(
name,
"isSB")==0)
385 WerrorS(
"attribute isSB must be int");
388 if (((
long)c->
Data())!=0L)
399 else if (strcmp(
name,
"qringNF")==0)
403 WerrorS(
"attribute qringNF must be int");
406 if (((
long)c->
Data())!=0L)
421 WerrorS(
"attribute `rank` must be int");
424 ideal I=(ideal)
v->Data();
428 else if (((strcmp(
name,
"global")==0)
429 || (strcmp(
name,
"cf_class")==0)
430 || (strcmp(
name,
"ring_cf")==0)
431 || (strcmp(
name,
"maxExp")==0))
438 else if ((strcmp(
name,
"isLetterplaceRing")==0)
442 ((ring)
v->Data())->isLPring=(
int)(long)c->
Data();
445 WerrorS(
"attribute `isLetterplaceRing` must be int");
449 else if ((strcmp(
name,
"ncgenCount")==0)
453 ((ring)
v->Data())->LPncGenCount=(
int)(long)c->
Data();
456 WerrorS(
"attribute `ncgenCount` must be int");
479 if (
h->attribute!=
NULL)
491 WerrorS(
"object must have a name");
494 char *
name=(
char *)
b->Data();
495 if (strcmp(
name,
"isSB")==0)
500 else if (strcmp(
name,
"global")==0)
502 WerrorS(
"can not set attribut `global`");
BOOLEAN atATTRIB3(leftv, leftv v, leftv b, leftv c)
STATIC_VAR omBin sattr_bin
BOOLEAN atKILLATTR2(leftv, leftv a, leftv b)
BOOLEAN atKILLATTR1(leftv, leftv a)
void at_KillAll(idhdl root, const ring r)
void at_Kill(idhdl root, const char *name, const ring r)
void atSet(idhdl root, char *name, void *data, int typ)
static void attr_free(attr h, const ring r=currRing)
BOOLEAN atATTRIB2(leftv res, leftv v, leftv b)
void * atGet(idhdl root, const char *name, int t, void *defaultReturnValue)
BOOLEAN atATTRIB1(leftv res, leftv v)
static int si_max(const int a, const int b)
const CanonicalForm CFMap CFMap & N
void killAll(const ring r)
attr set(char *s, void *data, int t)
Class used for (list of) interpreter objects.
const CanonicalForm int s
const Variable & v
< [in] a sqrfree bivariate poly
void WerrorS(const char *s)
if(!FE_OPT_NO_SHELL_FLAG)(void) system(sys)
const char * Tok2Cmdname(int tok)
static int RingDependend(int t)
The main handler for Singular numbers which are suitable for Singular polynomials.
#define omCheckAddr(addr)
#define omCheckAddrSize(addr, size)
#define omFreeBin(addr, bin)
#define omGetSpecBin(size)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Compatibility layer for legacy polynomial operations (over currRing)
void PrintS(const char *s)
void Werror(const char *fmt,...)
static BOOLEAN rIsLPRing(const ring r)
#define rField_is_Ring(R)
long id_RankFreeModule(ideal s, ring lmRing, ring tailRing)
return the maximal component number found in any polynomial in s
void s_internalDelete(const int t, void *d, const ring r)
int name
New type name for int.