 |
My Project
UNKNOWN_GIT_VERSION
|
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_BUCKET (leftv res, leftv a, Subexpr e) |
|
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 1819 of file ipassign.cc.
1822 int ll=
l->listLength();
1829 Werror(
"`%s` is read-only",
l->Name());
1839 else if (
l->attribute!=
NULL)
1867 if(bb->blackbox_CheckAssign(bb,
l,r))
return TRUE;
1870 if((!
b) && (like_lists==2))
1894 #ifdef BLACKBOX_DEVEL
1895 Print(
"bb-assign: bb=%lx\n",bb);
1897 return (bb==
NULL) || bb->blackbox_Assign(
l,r);
1985 Werror(
"length of lists in assignment does not match (l:%d,r:%d)",
2020 WerrorS(
"expected ring-name");
2026 WerrorS(
"expected image ideal");
2046 char *pr=((
map)olm)->preimage;
2063 Warn(
"expression list length(%d) does not match matrix size(%d)",el,
num);
2113 for(
k=0;
k<
j;
k++,
i++)
2136 if (module_assign) lm->
rank=rk;
2137 else if (map_assign) ((
map)lm)->preimage=pr;
2155 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_BUCKET()
◆ 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 1616 of file ipassign.cc.
1626 memset(&t,0,
sizeof(
sleftv));
1632 while ((
i<mxn )&&(
l!=
NULL))
1658 WarnS(
"list length mismatch in assign (l>r)");
1665 WarnS(
"list length mismatch in assign (l<r)");
◆ jiA_MODUL_P()
◆ jiA_NUMBER()
◆ jiA_PACKAGE()
◆ jiA_POLY()
◆ jiA_PROC()
Definition at line 777 of file ipassign.cc.
780 const char *procname,
int line,
◆ jiA_QRING()
Definition at line 942 of file ipassign.cc.
951 ring old_ring=(ring)
res->Data();
954 ideal
id = (ideal)a->
Data();
968 if (
qr->cf != newcf )
982 int *perm = (
int *)
omAlloc0((
qr->N+1)*
sizeof(int));
1025 Warn(
"%s is no twosided standard basis",a->
Name());
◆ jiA_RESOLUTION()
◆ jiA_RING()
◆ jiA_STRING()
Definition at line 755 of file ipassign.cc.
759 void* tmp =
res->data;
766 char *
s=(
char *)
res->data;
767 if ((e->start>0)&&(e->start<=(int)strlen(
s)))
768 s[e->start-1]=(char)(*((
char *)a->
Data()));
771 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 1105 of file ipassign.cc.
1124 WarnS(
"right side is not a datum, assignment ignored");
1151 else if (
l->name!=
NULL)
1180 WerrorS(
"error in assign: left side is not an l-value");
1186 #ifdef BLACKBOX_DEVEL
1187 Print(
"bb-assign: bb=%lx\n",bb);
1189 return (bb==
NULL) || bb->blackbox_Assign(
l,r);
1254 Werror(
"`%s`(%s) = `%s` is not supported",
1257 Werror(
"`%s` = `%s` is not supported"
1266 Werror(
"expected `%s` = `%s`"
◆ jiAssign_list()
Definition at line 1728 of file ipassign.cc.
1730 int i=
l->e->start-1;
1733 Werror(
"index[%d] must be positive",
i+1);
1736 if(
l->attribute!=
NULL)
1758 memset(&(li->
m[li->
nr+1]),0,(
i-li->
nr)*
sizeof(
sleftv));
1768 memset(&tmp,0,
sizeof(
sleftv));
1771 && (ld->
Typ()!=r->
Typ()))
1776 memcpy(ld,&tmp,
sizeof(
sleftv));
1778 else if ((ld->
e==
NULL)
1786 memcpy(ld,&tmp,
sizeof(
sleftv));
1791 if (
l->e!=
NULL)
l->e->next=ld->
e;
◆ jiAssign_rec()
◆ jiAssignAttr()
◆ jjA_L_BIGINTMAT()
Definition at line 1533 of file ipassign.cc.
1545 Warn(
"expression list length(%d) does not match bigintmat size(%d x %d)",
1558 bim->
set(
i++, (number)(hh->
Data()));
◆ jjA_L_INTVEC()
Definition at line 1484 of file ipassign.cc.
1495 Warn(
"expression list length(%d) does not match intmat size(%d)",
1502 (*iv)[
i++] = (int)((
long)(hh->
Data()));
1511 (*iv)[
i++] = (*ivv)[ll++];
◆ jjA_L_LIST()
◆ jjA_L_STRING()
◆ jjCOLMAX()
◆ jjECHO()
◆ jjIMPORTFROM()
Definition at line 2214 of file ipassign.cc.
2218 char *vn=(
char *)
v->Name();
2225 WarnS(
"source and destination packages are identical");
2237 memset(&h_expr,0,
sizeof(h_expr));
2241 return iiAssign(&tmp_expr,&h_expr);
2245 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)
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 sBucketDestroyAdd(sBucket_pt bucket, poly *p, int *length)
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'
#define SMATELEM(A, i, j, R)
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.
static BOOLEAN jiA_POLY(leftv res, leftv a, Subexpr e)
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)