97 if (0 == strcmp(
s,
h->name))
134 if ((temp!=
NULL) && (temp->
atyp==t))
137 return defaultReturnValue;
146 if ((temp!=
NULL) && (temp->
atyp==t))
158 WerrorS(
"cannot set ring-dependend objects at this type");
171 WerrorS(
"cannot set attributes of this object");
174 WerrorS(
"cannot set ring-dependend objects at this type");
190 attr temp =
this,temp1;
214 while (temp1->
next!=temp) temp1 = temp1->
next;
235 attr *aa=(
v->Attribute());
238 WerrorS(
"this object cannot have attributes");
247 PrintS(
"attr:isSB, type int\n");
248 haveNoAttribute=
FALSE;
252 PrintS(
"attr:qringNF, type int\n");
253 haveNoAttribute=
FALSE;
257 PrintS(
"attr:cf_class, type int\n");
258 PrintS(
"attr:global, type int\n");
259 PrintS(
"attr:maxExp, type int\n");
260 PrintS(
"attr:ring_cf, type int\n");
262 PrintS(
"attr:isLPring, type int\n");
265 haveNoAttribute=
FALSE;
274 else if(haveNoAttribute)
PrintS(
"no attributes\n");
279 char *
name=(
char *)
b->Data();
284 if (strcmp(
name,
"isSB")==0)
293 res->data=(
void *)(((ideal)
v->Data())->rank);
295 else if ((strcmp(
name,
"global")==0)
299 res->data=(
void *)(((ring)
v->Data())->OrdSgn==1);
301 else if ((strcmp(
name,
"maxExp")==0)
305 res->data=(
void *)(
long)(((ring)
v->Data())->bitmask/2);
307 else if ((strcmp(
name,
"ring_cf")==0)
313 else if ((strcmp(
name,
"cf_class")==0)
320 res->data=(
void *)(
long)(
cf->type);
322 else if (strcmp(
name,
"qringNF")==0)
329 else if ((strcmp(
name,
"isLPring")==0)
333 res->data=(
void *)(
long)(((ring)
v->Data())->isLPring);
338 attr *aa=
v->Attribute();
341 WerrorS(
"this object cannot have attributes");
371 char *
name=(
char *)
b->Data();
372 if (strcmp(
name,
"isSB")==0)
376 WerrorS(
"attribute isSB must be int");
379 if (((
long)c->
Data())!=0L)
390 else if (strcmp(
name,
"qringNF")==0)
394 WerrorS(
"attribute qringNF must be int");
397 if (((
long)c->
Data())!=0L)
412 WerrorS(
"attribute `rank` must be int");
415 ideal I=(ideal)
v->Data();
419 else if (((strcmp(
name,
"global")==0)
420 || (strcmp(
name,
"cf_class")==0)
421 || (strcmp(
name,
"ring_cf")==0)
422 || (strcmp(
name,
"maxExp")==0))
429 else if ((strcmp(
name,
"isLPring")==0)
433 ((ring)
v->Data())->isLPring=(
int)(long)c->
Data();
436 WerrorS(
"attribute `isLPring` must be int");
459 if (
h->attribute!=
NULL)
471 WerrorS(
"object must have a name");
474 char *
name=(
char *)
b->Data();
475 if (strcmp(
name,
"isSB")==0)
480 else if (strcmp(
name,
"global")==0)
482 WerrorS(
"can not set attribut `global`");
BOOLEAN atATTRIB3(leftv, leftv v, leftv b, leftv c)
BOOLEAN atKILLATTR2(leftv, leftv a, leftv b)
void * atGet(idhdl root, const char *name, int t, void *defaultReturnValue)
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)
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
char name(const Variable &v)
void WerrorS(const char *s)
const char * Tok2Cmdname(int tok)
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)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Compatiblity layer for legacy polynomial operations (over currRing)
void PrintS(const char *s)
void Werror(const char *fmt,...)
static BOOLEAN rField_is_Ring(const 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)