 |
My Project
debian-1:4.1.1-p2+ds-4build3
|
Go to the source code of this file.
|
static BOOLEAN | jjECHO (leftv, leftv a) |
|
static BOOLEAN | jjPRINTLEVEL (leftv, leftv a) |
|
static BOOLEAN | jjCOLMAX (leftv, leftv a) |
|
static BOOLEAN | jjTIMER (leftv, leftv a) |
|
static BOOLEAN | jjRTIMER (leftv, leftv a) |
|
static BOOLEAN | jjMAXDEG (leftv, leftv a) |
|
static BOOLEAN | jjMAXMULT (leftv, leftv a) |
|
static BOOLEAN | jjTRACE (leftv, leftv a) |
|
static BOOLEAN | jjSHORTOUT (leftv, leftv a) |
|
static void | jjMINPOLY_red (idhdl h) |
|
static BOOLEAN | jjMINPOLY (leftv, leftv a) |
|
static BOOLEAN | jjNOETHER (leftv, leftv a) |
|
static void | jiAssignAttr (leftv l, leftv r) |
|
static BOOLEAN | jiA_INT (leftv res, leftv a, Subexpr e) |
|
static BOOLEAN | jiA_NUMBER (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_BIGINT (leftv res, leftv a, Subexpr e) |
|
static BOOLEAN | jiA_LIST_RES (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_LIST (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_POLY (leftv res, leftv a, Subexpr e) |
|
static BOOLEAN | jiA_1x1INTMAT (leftv res, leftv a, Subexpr e) |
|
static BOOLEAN | jiA_1x1MATRIX (leftv res, leftv a, Subexpr e) |
|
static BOOLEAN | jiA_STRING (leftv res, leftv a, Subexpr e) |
|
static BOOLEAN | jiA_PROC (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_INTVEC (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_BIGINTMAT (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_IDEAL (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_RESOLUTION (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_MODUL_P (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_IDEAL_M (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_LINK (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_MAP (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_MAP_ID (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_QRING (leftv res, leftv a, Subexpr e) |
|
static BOOLEAN | jiA_RING (leftv res, leftv a, Subexpr e) |
|
static BOOLEAN | jiA_PACKAGE (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiA_DEF (leftv res, leftv, Subexpr) |
|
static BOOLEAN | jiA_CRING (leftv res, leftv a, Subexpr) |
|
static BOOLEAN | jiAssign_1 (leftv l, leftv r, BOOLEAN toplevel) |
|
static BOOLEAN | iiAssign_sys (leftv l, leftv r) |
|
static BOOLEAN | jiA_INTVEC_L (leftv l, leftv r) |
|
static BOOLEAN | jiA_VECTOR_L (leftv l, leftv r) |
|
static BOOLEAN | jjA_L_LIST (leftv l, leftv r) |
|
static BOOLEAN | jjA_L_INTVEC (leftv l, leftv r, intvec *iv) |
|
static BOOLEAN | jjA_L_BIGINTMAT (leftv l, leftv r, bigintmat *bim) |
|
static BOOLEAN | jjA_L_STRING (leftv l, leftv r) |
|
static BOOLEAN | jiA_MATRIX_L (leftv l, leftv r) |
|
static BOOLEAN | jiA_STRING_L (leftv l, leftv r) |
|
static BOOLEAN | jiAssign_list (leftv l, leftv r) |
|
static BOOLEAN | jiAssign_rec (leftv l, leftv r) |
|
BOOLEAN | iiAssign (leftv l, leftv r, BOOLEAN toplevel) |
|
void | jjNormalizeQRingId (leftv I) |
|
void | jjNormalizeQRingP (poly &p) |
|
BOOLEAN | jjIMPORTFROM (leftv, leftv u, leftv v) |
|
◆ IPASSIGN
◆ NULL_VAL
◆ TRANSEXT_PRIVATES
#define TRANSEXT_PRIVATES |
◆ iiAssign()
Definition at line 1792 of file ipassign.cc.
1795 int ll=
l->listLength();
1802 Werror(
"`%s` is read-only",
l->Name());
1812 else if (
l->attribute!=
NULL)
1840 if(bb->blackbox_CheckAssign(bb,
l,r))
return TRUE;
1843 if((!
b) && (like_lists==2))
1867 #ifdef BLACKBOX_DEVEL
1868 Print(
"bb-assign: bb=%lx\n",bb);
1870 return (bb==
NULL) || bb->blackbox_Assign(
l,r);
1958 Werror(
"length of lists in assignment does not match (l:%d,r:%d)",
1993 WerrorS(
"expected ring-name");
1999 WerrorS(
"expected image ideal");
2019 char *pr=((
map)olm)->preimage;
2036 Warn(
"expression list length(%d) does not match matrix size(%d)",el,
num);
2086 for(
k=0;
k<
j;
k++,
i++)
2109 if (module_assign) lm->
rank=rk;
2110 else if (map_assign) ((
map)lm)->preimage=pr;
2128 Werror(
"cannot assign to %s",
l->Fullname());
◆ iiAssign_sys()
◆ jiA_1x1INTMAT()
◆ jiA_1x1MATRIX()
◆ jiA_BIGINT()
Definition at line 581 of file ipassign.cc.
594 Werror(
"index[%d] must be positive",
i+1);
600 WerrorS(
"only one index given");
605 int c=e->next->start;
606 if ((
i>=iv->
rows())||(c<1)||(c>iv->
cols()))
608 Werror(
"wrong range [%d,%d] in bigintmat %s(%d,%d)",
i+1,c,
res->Name(),iv->
rows(),iv->
cols());
◆ jiA_BIGINTMAT()
◆ jiA_CRING()
◆ jiA_DEF()
◆ jiA_IDEAL()
◆ jiA_IDEAL_M()
◆ jiA_INT()
Definition at line 353 of file ipassign.cc.
365 Werror(
"index[%d] must be positive",
i+1);
374 (*iv1)[
i]=(int)((
long)(a->
Data()));
378 res->data=(
void *)ivn;
381 (*iv)[
i]=(int)((
long)(a->
Data()));
385 int c=e->next->start;
386 if ((
i>=iv->
rows())||(c<1)||(c>iv->
cols()))
388 Werror(
"wrong range [%d,%d] in intmat %s(%d,%d)",
i+1,c,
res->Name(),iv->
rows(),iv->
cols());
◆ jiA_INTVEC()
◆ jiA_INTVEC_L()
◆ jiA_LINK()
◆ jiA_LIST()
◆ jiA_LIST_RES()
Definition at line 621 of file ipassign.cc.
625 int add_row_shift = 0;
627 if (weights!=
NULL) add_row_shift=weights->
min_in();
◆ jiA_MAP()
◆ jiA_MAP_ID()
◆ jiA_MATRIX_L()
Definition at line 1589 of file ipassign.cc.
1599 memset(&t,0,
sizeof(
sleftv));
1605 while ((
i<mxn )&&(
l!=
NULL))
1631 WarnS(
"list length mismatch in assign (l>r)");
1638 WarnS(
"list length mismatch in assign (l<r)");
◆ jiA_MODUL_P()
◆ jiA_NUMBER()
◆ jiA_PACKAGE()
◆ jiA_POLY()
◆ jiA_PROC()
Definition at line 768 of file ipassign.cc.
771 const char *procname,
int line,
◆ jiA_QRING()
Definition at line 921 of file ipassign.cc.
930 ring old_ring=(ring)
res->Data();
933 ideal
id = (ideal)a->
Data();
947 if (
qr->cf != newcf )
961 int *perm = (
int *)
omAlloc0((
qr->N+1)*
sizeof(int));
1004 Warn(
"%s is no twosided standard basis",a->
Name());
◆ jiA_RESOLUTION()
◆ jiA_RING()
◆ jiA_STRING()
Definition at line 746 of file ipassign.cc.
750 void* tmp =
res->data;
757 char *
s=(
char *)
res->data;
758 if ((e->start>0)&&(e->start<=(int)strlen(
s)))
759 s[e->start-1]=(char)(*((
char *)a->
Data()));
762 Werror(
"string index %d out of range 1..%d",e->start,(
int)strlen(
s));
◆ jiA_STRING_L()
◆ jiA_VECTOR_L()
◆ jiAssign_1()
Definition at line 1084 of file ipassign.cc.
1103 WarnS(
"right side is not a datum, assignment ignored");
1128 else if (
l->name!=
NULL)
1153 WerrorS(
"error in assign: left side is not an l-value");
1159 #ifdef BLACKBOX_DEVEL
1160 Print(
"bb-assign: bb=%lx\n",bb);
1162 return (bb==
NULL) || bb->blackbox_Assign(
l,r);
1227 Werror(
"`%s`(%s) = `%s` is not supported",
1230 Werror(
"`%s` = `%s` is not supported"
1239 Werror(
"expected `%s` = `%s`"
◆ jiAssign_list()
Definition at line 1701 of file ipassign.cc.
1703 int i=
l->e->start-1;
1706 Werror(
"index[%d] must be positive",
i+1);
1709 if(
l->attribute!=
NULL)
1731 memset(&(li->
m[li->
nr+1]),0,(
i-li->
nr)*
sizeof(
sleftv));
1741 memset(&tmp,0,
sizeof(
sleftv));
1744 && (ld->
Typ()!=r->
Typ()))
1749 memcpy(ld,&tmp,
sizeof(
sleftv));
1751 else if ((ld->
e==
NULL)
1759 memcpy(ld,&tmp,
sizeof(
sleftv));
1764 if (
l->e!=
NULL)
l->e->next=ld->
e;
◆ jiAssign_rec()
◆ jiAssignAttr()
◆ jjA_L_BIGINTMAT()
Definition at line 1506 of file ipassign.cc.
1518 Warn(
"expression list length(%d) does not match bigintmat size(%d x %d)",
1531 bim->
set(
i++, (number)(hh->
Data()));
◆ jjA_L_INTVEC()
Definition at line 1457 of file ipassign.cc.
1468 Warn(
"expression list length(%d) does not match intmat size(%d)",
1475 (*iv)[
i++] = (int)((
long)(hh->
Data()));
1484 (*iv)[
i++] = (*ivv)[ll++];
◆ jjA_L_LIST()
◆ jjA_L_STRING()
◆ jjCOLMAX()
◆ jjECHO()
◆ jjIMPORTFROM()
Definition at line 2187 of file ipassign.cc.
2191 char *vn=(
char *)
v->Name();
2198 WarnS(
"source and destination packages are identical");
2210 memset(&h_expr,0,
sizeof(h_expr));
2214 return iiAssign(&tmp_expr,&h_expr);
2218 Werror(
"`%s` not found in `%s`",
v->Name(), u->
Name());
◆ jjMAXDEG()
◆ jjMAXMULT()
◆ jjMINPOLY()
Definition at line 177 of file ipassign.cc.
182 WarnS(
"Set minpoly over non-transcendental ground field to 0?!");
191 WarnS(
"Trying to set minpoly over non-transcendental ground field...");
194 WerrorS(
"cannot set minpoly for these coeffients");
201 WerrorS(
"only univarite minpoly allowed");
208 redefine_from_algext=(
currRing->cf->extRing->qideal!=
NULL);
213 WarnS(
"no minpoly allowed if there are local objects belonging to the basering: ");
234 WarnS(
"minpoly is already 0...");
238 WarnS(
"cannot set minpoly to 0 / alg. extension?");
246 Warn(
"killing a local object due to minpoly change: %s",
IDID(
currRing->idroot));
259 WerrorS(
"Could not construct the alg. extension: minpoly==0");
264 if (!redefine_from_algext && (DEN((fraction)(
p)) !=
NULL))
266 poly n=DEN((fraction)(
p));
269 WarnS(
"denominator must be constant - ignoring it");
272 DEN((fraction)(
p))=
NULL;
275 if (redefine_from_algext) q->m[0]=(poly)
p;
276 else q->m[0] = NUM((fraction)
p);
280 PrintS(
"\nTrying to conver the currRing into an algebraic field: ");
281 PrintS(
"Ground poly. ring: \n");
283 PrintS(
"\nGiven MinPOLY: ");
290 if (!redefine_from_algext)
293 NUM((fractionObject *)
p) =
NULL;
300 WerrorS(
"Could not construct the alg. extension: llegal minpoly?");
◆ jjMINPOLY_red()
static void jjMINPOLY_red |
( |
idhdl |
h | ) |
|
|
static |
◆ jjNOETHER()
◆ jjNormalizeQRingId()
void jjNormalizeQRingId |
( |
leftv |
I | ) |
|
◆ jjNormalizeQRingP()
void jjNormalizeQRingP |
( |
poly & |
p | ) |
|
◆ jjPRINTLEVEL()
◆ jjRTIMER()
◆ jjSHORTOUT()
Definition at line 106 of file ipassign.cc.
111 #if HAVE_CAN_SHORT_OUT
124 cf->extRing->ShortOut = shortOut;
126 cf =
cf->extRing->cf;
◆ jjTIMER()
◆ jjTRACE()
BOOLEAN iiConvert(int inputType, int outputType, int index, leftv input, leftv output, const struct sConvertTypes *dConvertTypes)
static int si_min(const int a, const int b)
int idElem(const ideal F)
count non-zero elements
static ideal idVec2Ideal(poly vec)
static BOOLEAN jiAssign_1(leftv l, leftv r, BOOLEAN toplevel)
const struct sValAssign dAssign[]
#define pGetComp(p)
Component.
static BOOLEAN jiA_INTVEC_L(leftv l, leftv r)
#define idDelete(H)
delete an ideal
void * idrecDataInit(int t)
static void jiAssignAttr(leftv l, leftv r)
#define MATELEM(mat, i, j)
void pEnlargeSet(poly **p, int l, int increment)
CanonicalForm map(const CanonicalForm &primElem, const Variable &alpha, const CanonicalForm &F, const Variable &beta)
map from to such that is mapped onto
int iiDeclCommand(leftv sy, leftv name, int lev, int t, idhdl *root, BOOLEAN isring, BOOLEAN init_b)
static BOOLEAN length(leftv result, leftv arg)
static BOOLEAN jjA_L_STRING(leftv l, leftv r)
static BOOLEAN jjA_L_INTVEC(leftv l, leftv r, intvec *iv)
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
coeffs basecoeffs() const
coeffs nInitChar(n_coeffType t, void *parameter)
one-time initialisations for new coeffs in case of an error return NULL
static FORCE_INLINE BOOLEAN n_IsZero(number n, const coeffs r)
TRUE iff 'n' represents the zero element.
Class used for (list of) interpreter objects.
static BOOLEAN jiA_VECTOR_L(leftv l, leftv r)
static FORCE_INLINE void n_Normalize(number &n, const coeffs r)
inplace-normalization of n; produces some canonical representation of n;
static void jjMINPOLY_red(idhdl h)
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
static short rVar(const ring r)
#define rVar(r) (r->N)
#define TEST_V_ASSIGN_NONE
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
struct for passing initialization parameters to naInitChar
poly p_PermPoly(poly p, const int *perm, const ring oldRing, const ring dst, nMapFunc nMap, const int *par_perm, int OldPar, BOOLEAN use_mult)
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
static BOOLEAN jiAssign_list(leftv l, leftv r)
void PrintS(const char *s)
static FORCE_INLINE BOOLEAN nCoeff_is_algExt(const coeffs r)
TRUE iff r represents an algebraic extension field.
void set(int i, int j, number n, const coeffs C=NULL)
replace an entry with a copy (delete old + copy new!). NOTE: starts at [1,1]
void killhdl2(idhdl h, idhdl *ih, ring r)
static BOOLEAN iiAssign_sys(leftv l, leftv r)
BOOLEAN slInit(si_link l, char *istr)
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
static BOOLEAN rField_is_Ring(const ring r)
BOOLEAN lRingDependend(lists L)
BOOLEAN piKill(procinfov pi)
void p_Write(poly p, ring lmRing, ring tailRing)
static BOOLEAN jiA_STRING_L(leftv l, leftv r)
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
void killhdl(idhdl h, package proot)
void ipMoveId(idhdl tomove)
int iiTestConvert(int inputType, int outputType)
static FORCE_INLINE BOOLEAN nCoeff_is_Extension(const coeffs r)
void CleanUp(ring r=currRing)
poly kNF(ideal F, ideal Q, poly p, int syzComp, int lazyReduce)
static FORCE_INLINE BOOLEAN nCoeff_is_transExt(const coeffs r)
TRUE iff r represents a transcendental extension field.
matrix mpNew(int r, int c)
create a r x c zero-matrix
poly p_MinPolyNormalize(poly p, const ring r)
void jjNormalizeQRingId(leftv I)
int exprlist_length(leftv v)
void rDelete(ring r)
unconditionally deletes fields in r
#define IMATELEM(M, I, J)
procinfo * iiInitSingularProcinfo(procinfov pi, const char *libname, const char *procname, int, long pos, BOOLEAN pstatic)
static void p_Delete(poly *p, const ring r)
void rWrite(ring r, BOOLEAN details)
const struct sValAssign_sys dAssign_sys[]
static int si_max(const int a, const int b)
static BOOLEAN jjA_L_BIGINTMAT(leftv l, leftv r, bigintmat *bim)
void * atGet(idhdl root, const char *name, int t, void *defaultReturnValue)
void Werror(const char *fmt,...)
#define omreallocSize(addr, o_size, size)
ideal idInit(int idsize, int rank)
initialise an ideal / module
BOOLEAN assumeStdFlag(leftv h)
void WerrorS(const char *s)
#define BIMATELEM(M, I, J)
static si_link slCopy(si_link l)
static BOOLEAN jiA_MATRIX_L(leftv l, leftv r)
void slCleanUp(si_link l)
const Variable & v
< [in] a sqrfree bivariate poly
INLINE_THIS void Init(int l=0)
static BOOLEAN jjA_L_LIST(leftv l, leftv r)
static BOOLEAN p_IsConstantPoly(const poly p, const ring r)
#define idSimpleAdd(A, B)
const CanonicalForm int s
const char * Tok2Cmdname(int tok)
static BOOLEAN jiAssign_rec(leftv l, leftv r)
void jjNormalizeQRingP(poly &p)
bool nc_SetupQuotient(ring rGR, const ring rG=NULL, bool bCopy=false)
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
lists syConvRes(syStrategy syzstr, BOOLEAN toDel, int add_row_shift)
static bool rIsSCA(const ring r)
#define omFreeBin(addr, bin)
blackbox * getBlackboxStuff(const int t)
return the structure to the type given by t
BOOLEAN iiAssign(leftv l, leftv r, BOOLEAN toplevel)
static FORCE_INLINE coeffs n_CoeffRingQuot1(number c, const coeffs r)
intvec * ivAdd(intvec *a, intvec *b)
void syKillComputation(syStrategy syzstr, ring r=currRing)
void id_Normalize(ideal I, const ring r)
normialize all polys in id
void nKillChar(coeffs r)
undo all initialisations
#define idPosConstant(I)
index of generator with leading term in ground ring (if any); otherwise -1
ideal idrCopyR(ideal id, ring src_r, ring dest_r)
@ n_algExt
used for all algebraic extensions, i.e., the top-most extension in an extension tower is algebraic
void Clean(ring r=currRing)