95 if (0 == strcmp(
s,
h->name))
132 if ((temp!=
NULL) && (temp->
atyp==t))
135 return defaultReturnValue;
144 if ((temp!=
NULL) && (temp->
atyp==t))
156 WerrorS(
"cannot set ring-dependend objects at this type");
169 WerrorS(
"cannot set attributes of this object");
172 WerrorS(
"cannot set ring-dependend objects at this type");
188 attr temp =
this,temp1;
212 while (temp1->
next!=temp) temp1 = temp1->
next;
233 attr *aa=(
v->Attribute());
236 WerrorS(
"this object cannot have attributes");
245 PrintS(
"attr:isSB, type int\n");
246 haveNoAttribute=
FALSE;
250 PrintS(
"attr:qringNF, type int\n");
251 haveNoAttribute=
FALSE;
255 PrintS(
"attr:cf_class, type int\n");
256 PrintS(
"attr:global, type int\n");
257 PrintS(
"attr:maxExp, type int\n");
258 PrintS(
"attr:ring_cf, type int\n");
260 PrintS(
"attr:isLetterplaceRing, type int\n");
263 haveNoAttribute=
FALSE;
272 else if(haveNoAttribute)
PrintS(
"no attributes\n");
277 char *
name=(
char *)
b->Data();
282 if (strcmp(
name,
"isSB")==0)
291 res->data=(
void *)(((ideal)
v->Data())->rank);
293 else if ((strcmp(
name,
"global")==0)
297 res->data=(
void *)(((ring)
v->Data())->OrdSgn==1);
299 else if ((strcmp(
name,
"maxExp")==0)
303 res->data=(
void *)(
long)(((ring)
v->Data())->bitmask/2);
305 else if ((strcmp(
name,
"ring_cf")==0)
311 else if ((strcmp(
name,
"cf_class")==0)
318 res->data=(
void *)(
long)(
cf->type);
320 else if (strcmp(
name,
"qringNF")==0)
327 else if ((strcmp(
name,
"isLetterplaceRing")==0)
331 res->data=(
void *)(
long)(((ring)
v->Data())->isLPring);
336 attr *aa=
v->Attribute();
339 WerrorS(
"this object cannot have attributes");
369 char *
name=(
char *)
b->Data();
370 if (strcmp(
name,
"isSB")==0)
374 WerrorS(
"attribute isSB must be int");
377 if (((
long)c->
Data())!=0L)
388 else if (strcmp(
name,
"qringNF")==0)
392 WerrorS(
"attribute qringNF must be int");
395 if (((
long)c->
Data())!=0L)
410 WerrorS(
"attribute `rank` must be int");
413 ideal I=(ideal)
v->Data();
417 else if (((strcmp(
name,
"global")==0)
418 || (strcmp(
name,
"cf_class")==0)
419 || (strcmp(
name,
"ring_cf")==0)
420 || (strcmp(
name,
"maxExp")==0))
427 else if ((strcmp(
name,
"isLetterplaceRing")==0)
431 ((ring)
v->Data())->isLPring=(
int)(long)c->
Data();
434 WerrorS(
"attribute `isLetterplaceRing` must be int");
457 if (
h->attribute!=
NULL)
469 WerrorS(
"object must have a name");
472 char *
name=(
char *)
b->Data();
473 if (strcmp(
name,
"isSB")==0)
478 else if (strcmp(
name,
"global")==0)
480 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)
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)
VAR 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)