 |
My Project
debian-1:4.1.1-p2+ds-4build2
|
#include <stdio.h>
#include "kernel/ideals.h"
#include "Singular/lists.h"
#include "Singular/fevoices.h"
Go to the source code of this file.
|
BOOLEAN | spectrumProc (leftv, leftv) |
|
BOOLEAN | spectrumfProc (leftv, leftv) |
|
BOOLEAN | spaddProc (leftv, leftv, leftv) |
|
BOOLEAN | spmulProc (leftv, leftv, leftv) |
|
BOOLEAN | semicProc (leftv, leftv, leftv) |
|
BOOLEAN | semicProc3 (leftv, leftv, leftv, leftv) |
|
BOOLEAN | iiAssignCR (leftv, leftv) |
|
BOOLEAN | iiARROW (leftv, char *, char *) |
|
int | IsCmd (const char *n, int &tok) |
|
BOOLEAN | iiPStart (idhdl pn, leftv sl) |
|
BOOLEAN | iiEStart (char *example, procinfo *pi) |
|
BOOLEAN | iiAllStart (procinfov pi, char *p, feBufferTypes t, int l) |
|
void | type_cmd (leftv v) |
|
void | test_cmd (int i) |
|
void | list_cmd (int typ, const char *what, const char *prefix, BOOLEAN iterate, BOOLEAN fullname=FALSE) |
|
void | killlocals (int v) |
|
int | exprlist_length (leftv v) |
|
const char * | Tok2Cmdname (int i) |
|
const char * | iiTwoOps (int t) |
|
int | iiOpsTwoChar (const char *s) |
|
BOOLEAN | iiWRITE (leftv res, leftv exprlist) |
|
BOOLEAN | iiExport (leftv v, int toLev) |
|
BOOLEAN | iiExport (leftv v, int toLev, package pack) |
|
BOOLEAN | iiInternalExport (leftv v, int toLev, package pack) |
|
static char * | iiGetLibName (const procinfov pi) |
| find the library of an proc More...
|
|
char * | iiGetLibProcBuffer (procinfov pi, int part=1) |
|
char * | iiProcName (char *buf, char &ct, char *&e) |
|
char * | iiProcArgs (char *e, BOOLEAN withParenth) |
|
BOOLEAN | iiLibCmd (char *newlib, BOOLEAN autoexport, BOOLEAN tellerror, BOOLEAN force) |
|
BOOLEAN | jjLOAD (const char *s, BOOLEAN autoexport=FALSE) |
| load lib/module given in v More...
|
|
BOOLEAN | jjLOAD_TRY (const char *s) |
|
BOOLEAN | iiLocateLib (const char *lib, char *where) |
|
leftv | iiMap (map theMap, const char *what) |
|
void | iiMakeResolv (resolvente r, int length, int rlen, char *name, int typ0, intvec **weights=NULL) |
|
BOOLEAN | jjMINRES (leftv res, leftv v) |
|
BOOLEAN | jjBETTI (leftv res, leftv v) |
|
BOOLEAN | jjBETTI2 (leftv res, leftv u, leftv v) |
|
BOOLEAN | jjBETTI2_ID (leftv res, leftv u, leftv v) |
|
BOOLEAN | jjIMPORTFROM (leftv res, leftv u, leftv v) |
|
BOOLEAN | jjLIST_PL (leftv res, leftv v) |
|
BOOLEAN | jjVARIABLES_P (leftv res, leftv u) |
|
BOOLEAN | jjVARIABLES_ID (leftv res, leftv u) |
|
int | iiRegularity (lists L) |
|
leftv | singular_system (sleftv h) |
|
BOOLEAN | jjSYSTEM (leftv res, leftv v) |
|
void | iiDebug () |
|
BOOLEAN | iiCheckRing (int i) |
|
poly | iiHighCorner (ideal i, int ak) |
|
char * | iiConvName (const char *libname) |
|
BOOLEAN | iiLoadLIB (FILE *fp, const char *libnamebuf, const char *newlib, idhdl pl, BOOLEAN autoexport, BOOLEAN tellerror) |
|
lists | syConvRes (syStrategy syzstr, BOOLEAN toDel=FALSE, int add_row_shift=0) |
|
syStrategy | syForceMin (lists li) |
|
syStrategy | syConvList (lists li) |
|
BOOLEAN | syBetti1 (leftv res, leftv u) |
|
BOOLEAN | syBetti2 (leftv res, leftv u, leftv w) |
|
BOOLEAN | iiExprArith1 (leftv res, sleftv *a, int op) |
|
BOOLEAN | iiExprArith2 (leftv res, sleftv *a, int op, sleftv *b, BOOLEAN proccall=FALSE) |
|
BOOLEAN | iiExprArith3 (leftv res, int op, leftv a, leftv b, leftv c) |
|
BOOLEAN | iiExprArithM (leftv res, sleftv *a, int op) |
|
BOOLEAN | iiApply (leftv res, leftv a, int op, leftv proc) |
|
BOOLEAN | iiAssign (leftv left, leftv right, BOOLEAN toplevel=TRUE) |
|
BOOLEAN | iiParameter (leftv p) |
|
BOOLEAN | iiAlias (leftv p) |
|
int | iiTokType (int op) |
|
int | iiDeclCommand (leftv sy, leftv name, int lev, int t, idhdl *root, BOOLEAN isring=FALSE, BOOLEAN init_b=TRUE) |
|
BOOLEAN | iiMake_proc (idhdl pn, package pack, leftv sl) |
|
void * | iiCallLibProc1 (const char *n, void *arg, int arg_type, BOOLEAN &err) |
|
void * | iiCallLibProcM (const char *n, void **args, int *arg_types, BOOLEAN &err) |
| args: NULL terminated arry of arguments arg_types: 0 terminated array of corresponding types More...
|
|
char * | showOption () |
|
BOOLEAN | setOption (leftv res, leftv v) |
|
char * | versionString () |
|
void | singular_example (char *str) |
|
BOOLEAN | iiTryLoadLib (leftv v, const char *id) |
|
int | iiAddCproc (const char *libname, const char *procname, BOOLEAN pstatic, BOOLEAN(*func)(leftv res, leftv v)) |
|
void | iiCheckPack (package &p) |
|
void | rSetHdl (idhdl h) |
|
ring | rInit (leftv pn, leftv rv, leftv ord) |
|
idhdl | rDefault (const char *s) |
|
idhdl | rSimpleFindHdl (ring r, idhdl root, idhdl n=NULL) |
|
idhdl | rFindHdl (ring r, idhdl n) |
|
void | rKill (idhdl h) |
|
void | rKill (ring r) |
|
lists | scIndIndset (ideal S, BOOLEAN all, ideal Q) |
|
BOOLEAN | mpKoszul (leftv res, leftv c, leftv b, leftv id) |
|
BOOLEAN | mpJacobi (leftv res, leftv a) |
|
BOOLEAN | jjRESULTANT (leftv res, leftv u, leftv v, leftv w) |
|
BOOLEAN | kQHWeight (leftv res, leftv v) |
|
BOOLEAN | kWeight (leftv res, leftv id) |
|
BOOLEAN | loSimplex (leftv res, leftv args) |
| Implementation of the Simplex Algorithm. More...
|
|
BOOLEAN | loNewtonP (leftv res, leftv arg1) |
| compute Newton Polytopes of input polynomials More...
|
|
BOOLEAN | nuMPResMat (leftv res, leftv arg1, leftv arg2) |
| returns module representing the multipolynomial resultant matrix Arguments 2: ideal i, int k k=0: use sparse resultant matrix of Gelfand, Kapranov and Zelevinsky k=1: use resultant matrix of Macaulay (k=0 is default) More...
|
|
BOOLEAN | nuLagSolve (leftv res, leftv arg1, leftv arg2, leftv arg3) |
| find the (complex) roots an univariate polynomial Determines the roots of an univariate polynomial using Laguerres' root-solver. More...
|
|
BOOLEAN | nuVanderSys (leftv res, leftv arg1, leftv arg2, leftv arg3) |
| COMPUTE: polynomial p with values given by v at points p1,..,pN derived from p; more precisely: consider p as point in K^n and v as N elements in K, let p1,..,pN be the points in K^n obtained by evaluating all monomials of degree 0,1,...,N at p in lexicographical order, then the procedure computes the polynomial f satisfying f(pi) = v[i] RETURN: polynomial f of degree d. More...
|
|
BOOLEAN | nuUResSolve (leftv res, leftv args) |
| solve a multipolynomial system using the u-resultant Input ideal must be 0-dimensional and (currRing->N) == IDELEMS(ideal). More...
|
|
BOOLEAN | jjCHARSERIES (leftv res, leftv u) |
|
void | paPrint (const char *n, package p) |
|
BOOLEAN | iiTestAssume (leftv a, leftv b) |
|
BOOLEAN | iiExprArith1Tab (leftv res, leftv a, int op, const struct sValCmd1 *dA1, int at, const struct sConvertTypes *dConvertTypes) |
| apply an operation 'op' to an argument a return TRUE on failure More...
|
|
BOOLEAN | iiExprArith2Tab (leftv res, leftv a, int op, const struct sValCmd2 *dA2, int at, const struct sConvertTypes *dConvertTypes) |
| apply an operation 'op' to arguments a and a->next return TRUE on failure More...
|
|
BOOLEAN | iiExprArith3Tab (leftv res, leftv a, int op, const struct sValCmd3 *dA3, int at, const struct sConvertTypes *dConvertTypes) |
| apply an operation 'op' to arguments a, a->next and a->next->next return TRUE on failure More...
|
|
BOOLEAN | iiCheckTypes (leftv args, const short *type_list, int report=0) |
| check a list of arguemys against a given field of types return TRUE if the types match return FALSE (and, if report) report an error via Werror otherwise More...
|
|
BOOLEAN | iiBranchTo (leftv r, leftv args) |
|
lists | rDecompose (const ring r) |
|
lists | rDecompose_list_cf (const ring r) |
|
BOOLEAN | rDecompose_CF (leftv res, const coeffs C) |
|
◆ sValCmd1
Definition at line 76 of file gentable.cc.
Data Fields |
short |
arg |
|
short |
cmd |
|
int |
p |
|
proc1 |
p |
|
short |
res |
|
short |
valid_for |
|
◆ sValCmd2
Definition at line 67 of file gentable.cc.
Data Fields |
short |
arg1 |
|
short |
arg2 |
|
short |
cmd |
|
int |
p |
|
proc2 |
p |
|
short |
res |
|
short |
valid_for |
|
◆ sValCmd3
Definition at line 84 of file gentable.cc.
Data Fields |
short |
arg1 |
|
short |
arg2 |
|
short |
arg3 |
|
short |
cmd |
|
int |
p |
|
proc3 |
p |
|
short |
res |
|
short |
valid_for |
|
◆ sValCmdM
Definition at line 94 of file gentable.cc.
Data Fields |
short |
cmd |
|
short |
number_of_args |
|
int |
p |
|
proc1 |
p |
|
short |
res |
|
short |
valid_for |
|
◆ sValAssign_sys
◆ sValAssign
◆ proc1
◆ proc2
◆ proc3
◆ proci
◆ exprlist_length()
int exprlist_length |
( |
leftv |
v | ) |
|
◆ iiAddCproc()
Definition at line 1005 of file iplib.cc.
1013 if (
IsCmd(procname,dummy))
1015 Werror(
">>%s< is a reserved name",procname);
1027 Warn(
"extend `%s`",procname);
1045 pi->is_static = pstatic;
1046 pi->data.o.function = func;
1050 if(
pi->data.o.function == func)
1062 pi->is_static = pstatic;
1063 pi->data.o.function = func;
1067 Warn(
"internal error: unknown procedure type %d",
pi->language);
1073 WarnS(
"iiAddCproc: failed.");
◆ iiAlias()
Definition at line 755 of file ipid.cc.
773 if ((
h->Typ()!=
p->Typ()) &&(
p->Typ()!=
DEF_CMD))
821 Werror(
"unknown type %d",
p->Typ());
826 int eff_typ=
h->Typ();
◆ iiAllStart()
Definition at line 293 of file iplib.cc.
310 (
pi->libname!=
NULL) && (
pi->libname[0]!=
'\0'))
312 if ((
pi->libname!=
NULL) && (
pi->libname[0]!=
'\0'))
313 Warn(
"option changed in proc %s from %s",
pi->procname,
pi->libname);
315 Warn(
"option changed in proc %s",
pi->procname);
◆ iiApply()
Definition at line 6364 of file ipshell.cc.
6382 WerrorS(
"first argument to `apply` must allow an index");
◆ iiARROW()
Definition at line 6413 of file ipshell.cc.
6415 char *ss=(
char*)
omAlloc(strlen(a)+strlen(
s)+30);
6417 int end_s=strlen(
s);
6418 while ((end_s>0) && ((
s[end_s]<=
' ')||(
s[end_s]==
';'))) end_s--;
6421 sprintf(
name,
"%s->%s",a,
s);
6423 int start_s=end_s-1;
6424 while ((start_s>=0) && (
s[start_s]!=
';')) start_s--;
6427 sprintf(ss,
"parameter def %s;return(%s);\n",a,
s);
6432 sprintf(ss,
"parameter def %s;%s;return(%s);\n",a,
s,
s+start_s+1);
6434 memset(r,0,
sizeof(*r));
6439 ((
procinfo *)r->data)->data.s.body=ss;
◆ 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);
1940 if (rt==
NONE) rt=r->Typ();
1942 else if (ll==(rl=r->listLength()))
1949 if (rt==
NONE) rt=r->Typ();
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());
◆ iiAssignCR()
Definition at line 6447 of file ipshell.cc.
6449 char* ring_name=
omStrDup((
char*)r->Name());
6454 memset(&tmp,0,
sizeof(tmp));
6472 memset(&n,0,
sizeof(n));
◆ iiBranchTo()
Definition at line 1179 of file ipshell.cc.
1184 WerrorS(
"branchTo can only occur in a proc");
1192 if (ll!=(
l-1))
return FALSE;
1195 short *t=(
short*)
omAlloc(
l*
sizeof(
short));
1199 for(
i=1;
i<
l;
i++,
h=
h->next)
1204 Werror(
"arg %d is not a string",
i);
1208 b=
IsCmd((
char *)
h->Data(),tt);
1213 Werror(
"arg %d is not a type name",
i);
1220 Werror(
"last(%d.) arg.(%s) is not a proc(but %s(%d)), nesting=%d",
1232 if(
pi->data.s.body==
NULL )
◆ iiCallLibProc1()
void* iiCallLibProc1 |
( |
const char * |
n, |
|
|
void * |
arg, |
|
|
int |
arg_type, |
|
|
BOOLEAN & |
err |
|
) |
| |
◆ iiCallLibProcM()
void* iiCallLibProcM |
( |
const char * |
n, |
|
|
void ** |
args, |
|
|
int * |
arg_types, |
|
|
BOOLEAN & |
err |
|
) |
| |
args: NULL terminated arry of arguments arg_types: 0 terminated array of corresponding types
Definition at line 647 of file iplib.cc.
668 tmp.
rtyp=arg_types[0];
669 while(arg_types[
i]!=0)
673 tt->
rtyp=arg_types[
i];
◆ iiCheckPack()
◆ iiCheckRing()
◆ iiCheckTypes()
check a list of arguemys against a given field of types return TRUE if the types match return FALSE (and, if report) report an error via Werror otherwise
- Parameters
-
type_list | < [in] argument list (may be NULL) [in] field of types len, t1,t2,... |
report | ;in] report error? |
Definition at line 6503 of file ipshell.cc.
6508 if (type_list[0]==0)
return TRUE;
6511 if (
l!=(
int)type_list[0])
6516 for(
int i=1;
i<=
l;
i++,args=args->
next)
6518 short t=type_list[
i];
6522 || (t!=args->Typ()))
◆ iiConvName()
char* iiConvName |
( |
const char * |
libname | ) |
|
Definition at line 1331 of file iplib.cc.
1334 char *
p = strrchr(tmpname,
DIR_SEP);
1336 if(
p==
NULL)
p = tmpname;
else p++;
1339 while(isalnum(*r)||(*r==
'_')) r++;
◆ iiDebug()
Definition at line 984 of file ipshell.cc.
1010 else if(strncmp(
s,
"cont;",5)==0)
1017 strcat(
s,
"\n;~\n");
◆ iiDeclCommand()
Definition at line 1122 of file ipshell.cc.
1125 const char *
id =
name->name;
1127 memset(sy,0,
sizeof(
sleftv));
1130 WerrorS(
"object to declare is not a name");
◆ iiEStart()
Definition at line 699 of file iplib.cc.
710 printf(
"entering example (level %d)\n",
myynest);
722 printf(
"leaving -example- (level %d)\n",
myynest);
◆ iiExport() [1/2]
◆ iiExport() [2/2]
◆ iiExprArith1()
◆ iiExprArith1Tab()
apply an operation 'op' to an argument a return TRUE on failure
- Parameters
-
[out] | res | [out] pre-allocated result |
[in] | a | [in] argument |
[in] | op | [in] operation |
[in] | dA1 | [in] table of possible proc assumes dArith1[0].cmd==op |
[in] | at | [in] a->Typ() |
[in] | dConvertTypes | [in] table of type conversions |
Definition at line 8137 of file iparith.cc.
8147 while (dA1[
i].cmd==op)
8166 if ((call_failed=dA1[
i].
p(
res,a)))
8186 while (dA1[
i].cmd==op)
8210 || (call_failed=dA1[
i].
p(
res,an)));
8251 while (dA1[
i].cmd==op)
8255 Werror(
"expected %s(`%s`)"
◆ iiExprArith2()
◆ iiExprArith2Tab()
apply an operation 'op' to arguments a and a->next return TRUE on failure
- Parameters
-
[out] | res | [out] pre-allocated result |
[in] | a | [in] 2 arguments |
[in] | op | [in] operation |
[in] | dA2 | [in] table of possible proc assumes dA2[0].cmd==op |
[in] | at | [in] a->Typ() |
[in] | dConvertTypes | [in] table of type conversions |
Definition at line 8065 of file iparith.cc.
◆ iiExprArith3()
Definition at line 8480 of file iparith.cc.
8491 memcpy(&d->arg1,a,
sizeof(
sleftv));
8493 memcpy(&d->arg2,
b,
sizeof(
sleftv));
8495 memcpy(&d->arg3,c,
sizeof(
sleftv));
8499 res->data=(
char *)d;
8511 if(!bb->blackbox_Op3(op,
res,a,
b,c))
return FALSE;
◆ iiExprArith3Tab()
apply an operation 'op' to arguments a, a->next and a->next->next return TRUE on failure
- Parameters
-
[out] | res | [out] pre-allocated result |
[in] | a | [in] 3 arguments |
[in] | op | [in] operation |
[in] | dA3 | [in] table of possible proc assumes dA3[0].cmd==op |
[in] | at | [in] a->Typ() |
[in] | dConvertTypes | [in] table of type conversions |
Definition at line 8532 of file iparith.cc.
◆ iiExprArithM()
◆ iiGetLibName()
find the library of an proc
Definition at line 66 of file ipshell.h.
66 {
return pi->libname; }
◆ iiGetLibProcBuffer()
char* iiGetLibProcBuffer |
( |
procinfov |
pi, |
|
|
int |
part = 1 |
|
) |
| |
◆ iiHighCorner()
poly iiHighCorner |
( |
ideal |
i, |
|
|
int |
ak |
|
) |
| |
◆ iiInternalExport()
Definition at line 1368 of file ipshell.cc.
1373 Warn(
"'%s': no such identifier\n",
v->
name);
1376 package frompack=v->req_packhdl;
1390 v->req_packhdl=rootpack;
1391 if (
h==frompack->idroot)
1393 frompack->idroot=
h->next;
1397 idhdl hh=frompack->idroot;
1404 Werror(
"`%s` not found",
v->Name());
1408 h->next=rootpack->idroot;
◆ iiLibCmd()
Definition at line 826 of file iplib.cc.
855 WarnS(
"not of type package.");
859 if (!force)
return FALSE;
◆ iiLoadLIB()
Definition at line 915 of file iplib.cc.
944 WerrorS(
"Cannot load library,... aborting.");
954 Warn(
"library %s has old format. This format is still accepted,", newlib);
955 WarnS(
"but for functionality you may wish to change to the new");
956 WarnS(
"format. Please refer to the manual for further information.");
971 ls = ls->
pop(newlib);
975 PrintS(
"--------------------\n");
978 Print(
"%s: LIB-stack:(%d), %s %s\n", newlib, ls->
cnt, ls->
get(),
981 PrintS(
"--------------------\n");
◆ iiLocateLib()
◆ iiMake_proc()
Definition at line 485 of file iplib.cc.
491 Werror(
"'%s::%s()' is a local procedure and cannot be accessed by an user.",
492 pi->libname,
pi->procname);
509 switch (
pi->language)
536 err = (
pi->data.o.function)(
res, sl);
560 if (!err)
Warn(
"too many arguments for %s",
IDID(pn));
◆ iiMakeResolv()
void iiMakeResolv |
( |
resolvente |
r, |
|
|
int |
length, |
|
|
int |
rlen, |
|
|
char * |
name, |
|
|
int |
typ0, |
|
|
intvec ** |
weights = NULL |
|
) |
| |
Definition at line 766 of file ipshell.cc.
776 sprintf(
s,
"%s(%d)",
name,
i+1);
783 h->data.uideal=(ideal)L->
m[
i].
data;
786 Print(
"//defining: %s as %d-th syzygy module\n",
s,
i+1);
791 Warn(
"cannot define %s",
s);
◆ iiMap()
Definition at line 607 of file ipshell.cc.
628 Werror(
"can not map from ground field of %s to current ground field",
632 if (
IDELEMS(theMap)<src_ring->N)
636 (src_ring->N)*
sizeof(poly));
643 WerrorS(
"argument of a map must have a name");
650 memset(&tmpW,0,
sizeof(
sleftv));
655 save_r=
IDMAP(
w)->preimage;
665 ideal
id=(ideal)tmpW.
data;
673 for(
int j=
IDELEMS(theMap)-1;
j>=0 && !overflow;
j--)
675 if (theMap->m[
j]!=
NULL)
682 if ((
p!=
NULL) && (degs[
i]!=0) &&
683 ((
unsigned long)deg_monexp > (
currRing->bitmask / ((
unsigned long)degs[
i])/2)))
695 for(
int j=
IDELEMS(theMap)-1;
j>=0 && !overflow;
j--)
697 if (theMap->m[
j]!=
NULL)
700 poly
p=(poly)tmpW.
data;
703 ((
unsigned long)deg_monexp > (
currRing->bitmask / ((
unsigned long)deg)/2)))
712 Warn(
"possible OVERFLOW in map, max exponent is %ld",
currRing->bitmask/2);
728 char *tmp = theMap->preimage;
729 theMap->preimage=(
char*)1L;
732 theMap->preimage=tmp;
747 IDMAP(
w)->preimage=save_r;
755 Werror(
"%s undefined in %s",what,theMap->preimage);
760 Werror(
"cannot find preimage %s",theMap->preimage);
◆ iiOpsTwoChar()
int iiOpsTwoChar |
( |
const char * |
s | ) |
|
Definition at line 119 of file ipshell.cc.
122 if (
s[1]==
'\0')
return s[0];
123 else if (
s[2]!=
'\0')
return 0;
126 case '.':
if (
s[1]==
'.')
return DOTDOT;
132 case '+':
if (
s[1]==
'+')
return PLUSPLUS;
136 case '<':
if (
s[1]==
'=')
return LE;
139 case '>':
if (
s[1]==
'=')
return GE;
141 case '!':
if (
s[1]==
'=')
return NOTEQUAL;
◆ iiParameter()
Definition at line 1280 of file ipshell.cc.
1284 if (strcmp(
p->name,
"#")==0)
1293 if (strcmp(
p->name,
"#")==0)
1295 is_default_list=
TRUE;
1303 if (is_default_list)
◆ iiProcArgs()
char* iiProcArgs |
( |
char * |
e, |
|
|
BOOLEAN |
withParenth |
|
) |
| |
Definition at line 109 of file iplib.cc.
111 while ((*e==
' ') || (*e==
'\t') || (*e==
'(')) e++;
117 return omStrDup(
"parameter list #;");
128 char *argstr=(
char *)
omAlloc(127);
140 if ((*
s==
' ')||(*
s==
'\t'))
142 else if ((*
s==
'\n')&&(*(
s+1)==
' '))
149 &&((par!=0) || (*e!=
')'))
153 else if (*e==
')') par--;
154 args_found=args_found || (*e>
' ');
162 if ((
int)strlen(argstr)+12 +(int)strlen(
s)>= argstrlen)
165 char *a=(
char *)
omAlloc( argstrlen);
171 if(strncmp(
s,
"alias ",6)!=0)
173 strcat(argstr,
"parameter ");
◆ iiProcName()
char* iiProcName |
( |
char * |
buf, |
|
|
char & |
ct, |
|
|
char *& |
e |
|
) |
| |
Definition at line 95 of file iplib.cc.
100 while ((*e>
' ') && (*e!=
'(')) e++;
◆ iiPStart()
Definition at line 353 of file iplib.cc.
367 save_flags=
pi->trace_flag;
368 if(
pi->data.s.body==
NULL )
414 if (oh!=
NULL) o=oh->id;
420 Werror(
"ring change during procedure call %s: %s -> %s (level %d)",
pi->procname,o,n,
myynest);
447 pi->trace_flag=save_flags;
◆ iiRegularity()
int iiRegularity |
( |
lists |
L | ) |
|
Definition at line 956 of file ipshell.cc.
970 add_row_shift = ww->
min_in();
971 (*weights) -= add_row_shift;
976 if (weights!=
NULL)
delete weights;
979 return reg+1+add_row_shift;
◆ iiTestAssume()
Definition at line 6386 of file ipshell.cc.
6392 char assume_yylinebuf[80];
6394 int lev=(long)a->
Data();
6401 if (bo) {
WerrorS(
"syntax error in ASSUME");
return TRUE;}
6403 if (
b->Data()==
NULL) {
Werror(
"ASSUME failed:%s",assume_yylinebuf);
return TRUE;}
◆ iiTokType()
◆ iiTryLoadLib()
Definition at line 764 of file iplib.cc.
768 char *libname = (
char *)
omAlloc(strlen(
id)+5);
769 const char *suffix[] = {
"",
".lib",
".so",
".sl",
NULL };
775 for(
i=0; suffix[
i] !=
NULL;
i++)
777 sprintf(libname,
"%s%s",
id, suffix[
i]);
782 #ifdef HAVE_DYNAMIC_LOADING
788 #ifdef HAVE_DYNAMIC_LOADING
◆ iiTwoOps()
const char* iiTwoOps |
( |
int |
t | ) |
|
Definition at line 259 of file gentable.cc.
285 case LE:
return "<=";
286 case GE:
return ">=";
◆ iiWRITE()
◆ IsCmd()
int IsCmd |
( |
const char * |
n, |
|
|
int & |
tok |
|
) |
| |
Definition at line 8679 of file iparith.cc.
8737 Warn(
"outdated identifier `%s` used - please change your code",
◆ jjBETTI()
Definition at line 886 of file ipshell.cc.
889 memset(&tmp,0,
sizeof(tmp));
◆ jjBETTI2()
Definition at line 920 of file ipshell.cc.
934 add_row_shift = ww->
min_in();
935 (*weights) -= add_row_shift;
942 res->data=(
void*)res_im;
945 for(
int i=1;
i<=res_im->
rows();
i++)
947 if (
IMATELEM(*res_im,1,
i)==0) { add_row_shift--; }
952 if (weights!=
NULL)
delete weights;
◆ jjBETTI2_ID()
Definition at line 899 of file ipshell.cc.
903 l->m[0].rtyp=u->
Typ();
904 l->m[0].data=u->
Data();
907 l->m[0].attribute=*a;
914 l->m[0].attribute=
NULL;
◆ jjCHARSERIES()
◆ 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());
◆ jjLIST_PL()
Definition at line 7307 of file iparith.cc.
7310 if (
v!=
NULL) sl =
v->listLength();
7314 int add_row_shift = 0;
7316 if (weights!=
NULL) add_row_shift=weights->
min_in();
7343 Werror(
"`%s` is undefined",
h->Fullname());
7349 ((ring)L->
m[
i].
data)->ref++;
7355 res->data=(
char *)L;
◆ jjLOAD()
load lib/module given in v
Definition at line 5096 of file iparith.cc.
5101 #ifdef HAVE_DYNAMIC_LOADING
5108 Werror(
"%s: unknown type",
s);
5126 Werror(
"can not create package `%s`",plib);
5132 package pa=IDPACKAGE(pl);
5133 if ((pa->language==
LANG_C)
5136 Werror(
"can not create package `%s` - binaries exists",plib);
5142 package savepack=currPack;
5158 #ifdef HAVE_DYNAMIC_LOADING
5161 WerrorS(
"Dynamic modules are not supported by this version of Singular");
◆ jjLOAD_TRY()
◆ jjMINRES()
Definition at line 865 of file ipshell.cc.
871 int add_row_shift = 0;
874 if (weights!=
NULL) add_row_shift=weights->
min_in();
◆ jjRESULTANT()
◆ jjSYSTEM()
Definition at line 228 of file extra.cc.
232 const char *sys_cmd=(
char *)(args->Data());
237 if (strcmp(sys_cmd,
"nblocks") == 0)
259 r = (ring)
h->Data();
266 if(strcmp(sys_cmd,
"version")==0)
274 if(strcmp(sys_cmd,
"alarm")==0)
281 struct itimerval t,o;
282 memset(&t,0,
sizeof(t));
283 t.it_value.tv_sec =(unsigned)((
unsigned long)
h->Data());
284 setitimer(ITIMER_VIRTUAL,&t,&o);
292 if(strcmp(sys_cmd,
"cpu")==0)
295 #ifdef _SC_NPROCESSORS_ONLN
296 cpu=sysconf(_SC_NPROCESSORS_ONLN);
297 #elif defined(_SC_NPROCESSORS_CONF)
298 cpu=sysconf(_SC_NPROCESSORS_CONF);
300 res->data=(
void *)cpu;
306 if(strcmp(sys_cmd,
"executable")==0)
321 if(strcmp(sys_cmd,
"neworder")==0)
335 if(strcmp(sys_cmd,
"nc_hilb") == 0)
343 i = (ideal)
h->Data();
346 WerrorS(
"nc_Hilb:ideal expected");
351 lV = (int)(
long)
h->Data();
354 WerrorS(
"nc_Hilb:int expected");
360 if((
int)(
long)
h->Data() == 1)
362 else if((
int)(
long)
h->Data() == 2)
367 trunDegHs = (int)(
long)
h->Data();
372 WerrorS(
"nc_Hilb:int 1,2, total degree for the truncation, and a string for printing the details are expected");
381 if(strcmp(sys_cmd,
"rcolon") == 0)
386 ideal
i = (ideal)
h->Data();
388 poly
w=(poly)
h->Data();
390 int lV = (int)(
long)
h->Data();
401 if(strcmp(sys_cmd,
"sh")==0)
405 WerrorS(
"shell execution is disallowed in restricted mode");
411 res->data = (
void*)(
long)
system((
char*)(
h->Data()));
418 if(strcmp(sys_cmd,
"reduce_bound")==0)
428 p = (poly)
h->CopyD();
432 pid = (ideal)
h->CopyD();
437 ideal q = (ideal)
h->next->CopyD();
438 int bound = (int)(
long)
h->next->next->Data();
447 if(strcmp(sys_cmd,
"uname")==0)
455 if(strcmp(sys_cmd,
"with")==0)
465 #define TEST_FOR(A) if(strcmp(s,A)==0) res->data=(void *)1; else
466 char *
s=(
char *)
h->Data();
479 #ifdef TEST_MAC_ORDER
484 #ifdef HAVE_DYNAMIC_LOADING
507 if (strcmp(sys_cmd,
"browsers")==0)
517 if (strcmp(sys_cmd,
"pid")==0)
520 res->data=(
void *)(
long) getpid();
525 if (strcmp(sys_cmd,
"getenv")==0)
530 const char *r=
getenv((
char *)
h->Data());
543 if (strcmp(sys_cmd,
"setenv")==0)
550 setenv((
char *)
h->Data(), (
char *)
h->next->Data(), 1);
560 WerrorS(
"setenv not supported on this platform");
566 if (strcmp(sys_cmd,
"Singular") == 0)
575 if (strcmp(sys_cmd,
"SingularLib") == 0)
585 if (strstr(sys_cmd,
"--") == sys_cmd)
587 if (strcmp(sys_cmd,
"--") == 0)
595 Werror(
"Unknown option %s", sys_cmd);
596 WerrorS(
"Use 'system(\"--\");' for listing of available options");
611 const char *r=(
const char*)
feOptSpec[opt].value;
625 WerrorS(
"Need string or int argument to set option value");
628 const char* errormsg;
633 Werror(
"Need string argument to set value of option %s", sys_cmd);
637 if (errormsg !=
NULL)
638 Werror(
"Option '--%s=%d' %s", sys_cmd, (
int) ((
long)
h->Data()), errormsg);
643 if (errormsg !=
NULL)
644 Werror(
"Option '--%s=%s' %s", sys_cmd, (
char*)
h->Data(), errormsg);
651 if (strcmp(sys_cmd,
"HC")==0)
659 if(strcmp(sys_cmd,
"random")==0)
682 if (strcmp(sys_cmd,
"std_syz") == 0)
688 i1=(ideal)
h->CopyD();
694 i2=(int)((
long)
h->Data());
703 if (strcmp(sys_cmd,
"denom_list")==0)
712 if(strcmp(sys_cmd,
"complexNearZero")==0)
719 WerrorS(
"unsupported ground field!");
726 (int)((
long)(
h->next->Data())));
737 if(strcmp(sys_cmd,
"getPrecDigits")==0)
742 WerrorS(
"unsupported ground field!");
753 if(strcmp(sys_cmd,
"lduDecomp")==0)
760 poly
l; poly u; poly prodLU;
761 lduDecomp(aMat, pMat, lMat, dMat, uMat,
l, u, prodLU);
772 res->data = (
char *)L;
782 if(strcmp(sys_cmd,
"lduSolve")==0)
816 poly
l = (poly)
h->next->next->next->next->Data();
817 poly u = (poly)
h->next->next->next->next->next->Data();
818 poly lTimesU = (poly)
h->next->next->next->next->next->next->Data();
819 matrix bVec = (
matrix)
h->next->next->next->next->next->next->next->Data();
823 Werror(
"first matrix (%d x %d) is not quadratic",
829 Werror(
"second matrix (%d x %d) is not quadratic",
835 Werror(
"third matrix (%d x %d) is not quadratic",
841 Werror(
"third matrix (%d x %d) and fourth matrix (%d x %d) %s",
848 Werror(
"fourth matrix (%d x %d) and vector (%d x 1) do not fit",
853 bVec, xVec, homogSolSpace);
876 if (strcmp(sys_cmd,
"shared") == 0)
878 #ifndef SI_COUNTEDREF_AUTOLOAD
885 else if (strcmp(sys_cmd,
"reference") == 0)
887 #ifndef SI_COUNTEDREF_AUTOLOAD
896 #ifdef HAVE_SIMPLEIPC
897 if (strcmp(sys_cmd,
"semaphore")==0)
903 v=(int)(
long)
h->next->next->Data();
910 WerrorS(
"Usage: system(\"semaphore\",<cmd>,int)");
917 if (strcmp(sys_cmd,
"reserve")==0)
925 res->data=(
void*)(
long)
p;
932 if (strcmp(sys_cmd,
"reservedLink")==0)
941 if (strcmp(sys_cmd,
"install")==0)
947 (
int)(
long)
h->next->next->next->Data(),
954 if (strcmp(sys_cmd,
"newstruct")==0)
960 char *n=(
char*)
h->Data();
967 newstruct_desc desc=(newstruct_desc)bb->data;
971 else Werror(
"'%s' is not a newstruct",n);
973 else Werror(
"'%s' is not a blackbox object",n);
979 if (strcmp(sys_cmd,
"blackbox")==0)
987 if (strcmp(sys_cmd,
"absFact") == 0)
1004 l->m[0].data=(
void *)
f;
1006 l->m[1].data=(
void *)
v;
1008 l->m[2].data=(
void*) mipos;
1010 l->m[3].data=(
void*) (
long) n;
1011 res->data=(
void *)
l;
1020 if (strcmp(sys_cmd,
"LLL") == 0)
1043 #if __FLINT_RELEASE >= 20500
1044 if (strcmp(sys_cmd,
"LLL_Flint") == 0)
1065 WerrorS(
"matrix,int or bigint,int expected");
1070 if(((
int)((
long)(
h->next->Data())) != 0) && (
int)((
long)(
h->next->Data()) != 1))
1072 WerrorS(
"int is different from 0, 1");
1076 if((
long)(
h->next->Data()) == 0)
1091 if((
long)(
h->next->Data()) == 1)
1097 for(
int i = 1;
i<=
m->rows();
i++)
1102 m = singflint_LLL(
m,
T);
1115 for(
int i = 1;
i<=
m->rows();
i++)
1117 m = singflint_LLL(
m,
T);
1137 #ifdef HAVE_SHIFTBBA
1138 if (strcmp(sys_cmd,
"stest") == 0)
1143 poly
p=(poly)
h->CopyD();
1145 int sh=(int)((
long)(
h->Data()));
1147 int uptodeg=(int)((
long)(
h->Data()));
1149 int lVblock=(int)((
long)(
h->Data()));
1152 WerrorS(
"negative shift for pLPshift");
1158 WerrorS(
"pLPshift: too big shift requested\n");
1170 #ifdef HAVE_SHIFTBBA
1171 if (strcmp(sys_cmd,
"btest") == 0)
1176 poly
p=(poly)
h->CopyD();
1178 int lV=(int)((
long)(
h->Data()));
1188 #ifdef HAVE_SHIFTBBA
1189 if (strcmp(sys_cmd,
"shrinktest") == 0)
1194 poly
p=(poly)
h->Data();
1196 int lV=(int)((
long)(
h->Data()));
1210 if(strcmp(sys_cmd,
"pcvLAddL")==0)
1215 if(strcmp(sys_cmd,
"pcvPMulL")==0)
1220 if(strcmp(sys_cmd,
"pcvMinDeg")==0)
1225 if(strcmp(sys_cmd,
"pcvP2CV")==0)
1230 if(strcmp(sys_cmd,
"pcvCV2P")==0)
1235 if(strcmp(sys_cmd,
"pcvDim")==0)
1240 if(strcmp(sys_cmd,
"pcvBasis")==0)
1247 #ifdef HAVE_EIGENVAL
1248 if(strcmp(sys_cmd,
"hessenberg")==0)
1255 #ifdef HAVE_EIGENVAL
1256 if(strcmp(sys_cmd,
"eigenvals")==0)
1263 #ifdef HAVE_EIGENVAL
1264 if(strcmp(sys_cmd,
"rowelim")==0)
1271 #ifdef HAVE_EIGENVAL
1272 if(strcmp(sys_cmd,
"rowcolswap")==0)
1280 if(strcmp(sys_cmd,
"gmsnf")==0)
1287 if(strcmp(sys_cmd,
"contributors") == 0)
1291 "Olaf Bachmann, Michael Brickenstein, Hubert Grassmann, Kai Krueger, Victor Levandovskyy, Wolfgang Neumann, Thomas Nuessler, Wilfred Pohl, Jens Schmidt, Mathias Schulze, Thomas Siebert, Ruediger Stobbe, Moritz Wenk, Tim Wichmann");
1296 #ifdef HAVE_SPECTRUM
1297 if(strcmp(sys_cmd,
"spectrum") == 0)
1311 if(((
long)
h->next->Data())==1L)
1317 if(strcmp(sys_cmd,
"semic") == 0)
1323 if (
h->next->next==
NULL)
1325 else if (
h->next->next->Typ()==
INT_CMD)
1332 if(strcmp(sys_cmd,
"spadd") == 0)
1343 if(strcmp(sys_cmd,
"spmul") == 0)
1355 #define HAVE_SHEAFCOH_TRICKS 1
1357 #ifdef HAVE_SHEAFCOH_TRICKS
1358 if(strcmp(sys_cmd,
"tensorModuleMult")==0)
1364 int m = (int)( (
long)
h->Data() );
1365 ideal
M = (ideal)
h->next->Data();
1376 if (strcmp(sys_cmd,
"twostd") == 0)
1381 I=(ideal)
h->CopyD();
1395 if (strcmp(sys_cmd,
"bracket") == 0)
1400 poly
p=(poly)
h->CopyD();
1402 poly q=(poly)
h->Data();
1413 if (strcmp(sys_cmd,
"env")==0)
1417 ring r = (ring)
h->Data();
1424 WerrorS(
"`system(\"env\",<ring>)` expected");
1432 if (strcmp(sys_cmd,
"opp")==0)
1436 ring r=(ring)
h->Data();
1443 WerrorS(
"`system(\"opp\",<ring>)` expected");
1451 if (strcmp(sys_cmd,
"oppose")==0)
1454 && (
h->next!=
NULL))
1456 ring Rop = (ring)
h->Data();
1469 WerrorS(
"`system(\"oppose\",<ring>,<poly>)` expected");
1477 #ifdef HAVE_SHIFTBBA
1478 if (strcmp(sys_cmd,
"freegb") == 0)
1483 ideal I=(ideal)
h->CopyD();
1485 int uptodeg=(int)((
long)(
h->Data()));
1487 int lVblock=(int)((
long)(
h->Data()));
1506 if (strcmp(sys_cmd,
"walkNextWeight") == 0)
1513 Werror(
"system(\"walkNextWeight\" ...) intvecs not of length %d\n",
1517 res->data = (
void*) walkNextWeight(((
intvec*)
h->Data()),
1519 (ideal)
h->next->next->Data());
1520 if (
res->data ==
NULL ||
res->data == (
void*) 1L)
1536 if (strcmp(sys_cmd,
"walkInitials") == 0)
1540 WerrorS(
"system(\"walkInitials\", ideal) expected");
1543 res->data = (
void*) walkInitials((ideal)
h->Data());
1553 if (strcmp(sys_cmd,
"walkAddIntVec") == 0)
1559 res->data = (
intvec*) walkAddIntVec(arg1, arg2);
1568 #ifdef MwaklNextWeight
1569 if (strcmp(sys_cmd,
"MwalkNextWeight") == 0)
1576 Werror(
"system(\"MwalkNextWeight\" ...) intvecs not of length %d\n",
1582 ideal arg3 = (ideal)
h->next->next->Data();
1589 #endif //MWalkNextWeight
1593 if(strcmp(sys_cmd,
"Mivdp") == 0)
1597 WerrorS(
"system(\"Mivdp\", int) expected");
1600 if ((
int) ((
long)(
h->Data())) !=
currRing->N)
1602 Werror(
"system(\"Mivdp\" ...) intvecs not of length %d\n",
1606 int arg1 = (int) ((
long)(
h->Data()));
1616 if(strcmp(sys_cmd,
"Mivlp") == 0)
1620 WerrorS(
"system(\"Mivlp\", int) expected");
1623 if ((
int) ((
long)(
h->Data())) !=
currRing->N)
1625 Werror(
"system(\"Mivlp\" ...) intvecs not of length %d\n",
1629 int arg1 = (int) ((
long)(
h->Data()));
1640 if(strcmp(sys_cmd,
"MpDiv") == 0)
1644 poly arg1 = (poly)
h->Data();
1645 poly arg2 = (poly)
h->next->Data();
1646 poly
result = MpDiv(arg1, arg2);
1657 if(strcmp(sys_cmd,
"MpMult") == 0)
1661 poly arg1 = (poly)
h->Data();
1662 poly arg2 = (poly)
h->next->Data();
1663 poly
result = MpMult(arg1, arg2);
1673 if (strcmp(sys_cmd,
"MivSame") == 0)
1694 res->data = (
void*)(
long)
MivSame(arg1, arg2);
1701 if (strcmp(sys_cmd,
"M3ivSame") == 0)
1724 res->data = (
void*)(
long)
M3ivSame(arg1, arg2, arg3);
1731 if(strcmp(sys_cmd,
"MwalkInitialForm") == 0)
1737 Werror(
"system \"MwalkInitialForm\"...) intvec not of length %d\n",
1741 ideal
id = (ideal)
h->Data();
1753 if(strcmp(sys_cmd,
"MivMatrixOrder") == 0)
1757 WerrorS(
"system(\"MivMatrixOrder\",intvec) expected");
1770 if(strcmp(sys_cmd,
"MivMatrixOrderdp") == 0)
1774 WerrorS(
"system(\"MivMatrixOrderdp\",intvec) expected");
1777 int arg1 = (int) ((
long)(
h->Data()));
1787 if(strcmp(sys_cmd,
"MPertVectors") == 0)
1791 ideal arg1 = (ideal)
h->Data();
1793 int arg3 = (int) ((
long)(
h->next->next->Data()));
1803 if(strcmp(sys_cmd,
"MPertVectorslp") == 0)
1807 ideal arg1 = (ideal)
h->Data();
1809 int arg3 = (int) ((
long)(
h->next->next->Data()));
1819 if(strcmp(sys_cmd,
"Mfpertvector") == 0)
1823 ideal arg1 = (ideal)
h->Data();
1834 if(strcmp(sys_cmd,
"MivUnit") == 0)
1838 int arg1 = (int) ((
long)(
h->Data()));
1848 if(strcmp(sys_cmd,
"MivWeightOrderlp") == 0)
1862 if(strcmp(sys_cmd,
"MivWeightOrderdp") == 0)
1866 WerrorS(
"system(\"MivWeightOrderdp\",intvec) expected");
1880 if(strcmp(sys_cmd,
"MivMatrixOrderlp") == 0)
1884 WerrorS(
"system(\"MivMatrixOrderlp\",int) expected");
1887 int arg1 = (int) ((
long)(
h->Data()));
1897 if (strcmp(sys_cmd,
"MkInterRedNextWeight") == 0)
1904 Werror(
"system(\"MkInterRedNextWeight\" ...) intvecs not of length %d\n",
1910 ideal arg3 = (ideal)
h->next->next->Data();
1920 #ifdef MPertNextWeight
1921 if (strcmp(sys_cmd,
"MPertNextWeight") == 0)
1927 Werror(
"system(\"MPertNextWeight\" ...) intvecs not of length %d\n",
1932 ideal arg2 = (ideal)
h->next->Data();
1933 int arg3 = (int)
h->next->next->Data();
1940 #endif //MPertNextWeight
1944 #ifdef Mivperttarget
1945 if (strcmp(sys_cmd,
"Mivperttarget") == 0)
1949 ideal arg1 = (ideal)
h->Data();
1950 int arg2 = (int)
h->next->Data();
1957 #endif //Mivperttarget
1961 if (strcmp(sys_cmd,
"Mwalk") == 0)
1968 Werror(
"system(\"Mwalk\" ...) intvecs not of length %d\n",
1972 ideal arg1 = (ideal)
h->CopyD();
1975 ring arg4 = (ring)
h->next->next->next->Data();
1976 int arg5 = (int) (
long)
h->next->next->next->next->Data();
1977 int arg6 = (int) (
long)
h->next->next->next->next->next->Data();
1978 ideal
result = (ideal)
Mwalk(arg1, arg2, arg3, arg4, arg5, arg6);
1988 if (strcmp(sys_cmd,
"Mwalk") == 0)
1997 Werror(
"system(\"Mwalk\" ...) intvecs not of length %d or %d\n",
2001 ideal arg1 = (ideal)
h->Data();
2004 ring arg4 = (ring)
h->next->next->next->Data();
2005 ideal
result = (ideal)
Mwalk(arg1, arg2, arg3,arg4);
2012 if (strcmp(sys_cmd,
"Mpwalk") == 0)
2019 Werror(
"system(\"Mpwalk\" ...) intvecs not of length %d\n",
currRing->N);
2022 ideal arg1 = (ideal)
h->Data();
2023 int arg2 = (int) (
long)
h->next->Data();
2024 int arg3 = (int) (
long)
h->next->next->Data();
2027 int arg6 = (int) (
long)
h->next->next->next->next->next->Data();
2028 int arg7 = (int) (
long)
h->next->next->next->next->next->next->Data();
2029 int arg8 = (int) (
long)
h->next->next->next->next->next->next->next->Data();
2030 ideal
result = (ideal)
Mpwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
2040 if (strcmp(sys_cmd,
"Mrwalk") == 0)
2049 Werror(
"system(\"Mrwalk\" ...) intvecs not of length %d or %d\n",
2053 ideal arg1 = (ideal)
h->Data();
2056 int arg4 = (int)(
long)
h->next->next->next->Data();
2057 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2058 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2059 int arg7 = (int)(
long)
h->next->next->next->next->next->next->Data();
2060 ideal
result = (ideal)
Mrwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
2069 if (strcmp(sys_cmd,
"MAltwalk1") == 0)
2076 Werror(
"system(\"MAltwalk1\" ...) intvecs not of length %d\n",
2080 ideal arg1 = (ideal)
h->Data();
2081 int arg2 = (int) ((
long)(
h->next->Data()));
2082 int arg3 = (int) ((
long)(
h->next->next->Data()));
2095 if (strcmp(sys_cmd,
"Mfwalk_alt") == 0)
2102 Werror(
"system(\"Mfwalk\" ...) intvecs not of length %d\n",
2106 ideal arg1 = (ideal)
h->Data();
2109 int arg4 = (int)
h->next->next->next->Data();
2110 ideal
result = (ideal) Mfwalk_alt(arg1, arg2, arg3, arg4);
2120 if (strcmp(sys_cmd,
"Mfwalk") == 0)
2127 Werror(
"system(\"Mfwalk\" ...) intvecs not of length %d\n",
2131 ideal arg1 = (ideal)
h->Data();
2134 int arg4 = (int)(
long)
h->next->next->next->Data();
2135 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2136 ideal
result = (ideal)
Mfwalk(arg1, arg2, arg3, arg4, arg5);
2145 if (strcmp(sys_cmd,
"Mfrwalk") == 0)
2162 Werror(
"system(\"Mfrwalk\" ...) intvecs not of length %d or %d\n",
2167 ideal arg1 = (ideal)
h->Data();
2170 int arg4 = (int)(
long)
h->next->next->next->Data();
2171 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2172 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2173 ideal
result = (ideal)
Mfrwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2180 if (strcmp(sys_cmd,
"Mprwalk") == 0)
2189 Werror(
"system(\"Mrwalk\" ...) intvecs not of length %d or %d\n",
2193 ideal arg1 = (ideal)
h->Data();
2196 int arg4 = (int)(
long)
h->next->next->next->Data();
2197 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2198 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2199 int arg7 = (int)(
long)
h->next->next->next->next->next->next->Data();
2200 int arg8 = (int)(
long)
h->next->next->next->next->next->next->next->Data();
2201 int arg9 = (int)(
long)
h->next->next->next->next->next->next->next->next->Data();
2202 ideal
result = (ideal)
Mprwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
2212 if (strcmp(sys_cmd,
"TranMImprovwalk") == 0)
2219 Werror(
"system(\"TranMImprovwalk\" ...) intvecs not of length %d\n",
2223 ideal arg1 = (ideal)
h->Data();
2236 if (strcmp(sys_cmd,
"MAltwalk2") == 0)
2243 Werror(
"system(\"MAltwalk2\" ...) intvecs not of length %d\n",
2247 ideal arg1 = (ideal)
h->Data();
2259 if (strcmp(sys_cmd,
"TranMImprovwalk") == 0)
2266 Werror(
"system(\"TranMImprovwalk\" ...) intvecs not of length %d\n",
2270 ideal arg1 = (ideal)
h->Data();
2273 int arg4 = (int) ((
long)(
h->next->next->next->Data()));
2284 if (strcmp(sys_cmd,
"TranMrImprovwalk") == 0)
2289 h->next->next->next ==
NULL ||
h->next->next->next->Typ() !=
INT_CMD ||
2290 h->next->next->next ==
NULL ||
h->next->next->next->next->Typ() !=
INT_CMD ||
2291 h->next->next->next ==
NULL ||
h->next->next->next->next->next->Typ() !=
INT_CMD)
2293 WerrorS(
"system(\"TranMrImprovwalk\", ideal, intvec, intvec) expected");
2299 Werror(
"system(\"TranMrImprovwalk\" ...) intvecs not of length %d\n",
currRing->N);
2302 ideal arg1 = (ideal)
h->Data();
2305 int arg4 = (int)(
long)
h->next->next->next->Data();
2306 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2307 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2308 ideal
result = (ideal) TranMrImprovwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2318 #ifndef MAKE_DISTRIBUTION
◆ jjVARIABLES_ID()
Definition at line 6258 of file ipshell.cc.
6261 ideal I=(ideal)u->
Data();
6264 for(
i=I->nrows*I->ncols-1;
i>=0;
i--)
◆ jjVARIABLES_P()
◆ killlocals()
◆ kQHWeight()
◆ kWeight()
Definition at line 3239 of file ipshell.cc.
3241 ideal F=(ideal)id->
Data();
3247 res->data=(
char *)iv;
3251 double wNsqr = (double)2.0 / (
double)n;
3253 x = (
int * )
omAlloc(2 * (n + 1) *
sizeof(int));
3255 for (
i = n;
i!=0;
i--)
3256 (*iv)[
i-1] =
x[
i + n + 1];
◆ list_cmd()
Definition at line 417 of file ipshell.cc.
419 package savePack=currPack;
426 if (strcmp(what,
"all")==0)
461 Werror(
"%s is undefined",what);
495 package save_p=currPack;
◆ loNewtonP()
compute Newton Polytopes of input polynomials
Definition at line 4501 of file ipshell.cc.
◆ loSimplex()
Implementation of the Simplex Algorithm.
For args, see class simplex.
Definition at line 4507 of file ipshell.cc.
4511 WerrorS(
"Ground field not implemented!");
4531 LP->
m= (int)(
long)(
v->Data());
4537 LP->
n= (int)(
long)(
v->Data());
4543 LP->
m1= (int)(
long)(
v->Data());
4549 LP->
m2= (int)(
long)(
v->Data());
4555 LP->
m3= (int)(
long)(
v->Data());
4557 #ifdef mprDEBUG_PROT
4558 Print(
"m (constraints) %d\n",LP->
m);
4559 Print(
"n (columns) %d\n",LP->
n);
4583 lres->
m[4].
data=(
void*)(
long)LP->
m;
4586 lres->
m[5].
data=(
void*)(
long)LP->
n;
4588 res->data= (
void*)lres;
◆ mpJacobi()
◆ mpKoszul()
Definition at line 3031 of file ipshell.cc.
3033 int n=(int)(
long)
b->Data();
3034 int d=(int)(
long)c->
Data();
3041 if ((d>n) || (d<1) || (n<1))
3046 int *choise = (
int*)
omAlloc(d*
sizeof(
int));
3050 temp=(ideal)id->
Data();
3065 p =
pCopy(temp->m[choise[
l-1]-1]);
◆ nuLagSolve()
find the (complex) roots an univariate polynomial Determines the roots of an univariate polynomial using Laguerres' root-solver.
Good for polynomials with low and middle degree (<40). Arguments 3: poly arg1 , int arg2 , int arg3 arg2>0: defines precision of fractional part if ground field is Q arg3: number of iterations for approximation of roots (default=2) Returns a list of all (complex) roots of the polynomial arg1
Definition at line 4616 of file ipshell.cc.
4620 gls= (poly)(arg1->
Data());
4621 int howclean= (int)(
long)arg3->
Data();
4628 WerrorS(
"Ground field not implemented!");
4635 unsigned long int ii = (
unsigned long int)arg2->
Data();
4641 WerrorS(
"Input polynomial is constant!");
4667 if ( (vpos !=
i) && (
pGetExp( piter,
i ) != 0) )
4669 WerrorS(
"The input polynomial must be univariate!");
4677 number * pcoeffs= (number *)
omAlloc( (deg+1) *
sizeof( number ) );
4679 for (
i= deg;
i >= 0;
i-- )
4693 #ifdef mprDEBUG_PROT
4694 for (
i=deg;
i >= 0;
i--)
4702 roots->
solver( howclean );
4709 rlist->
Init( elem );
4713 for (
j= 0;
j < elem;
j++ )
4722 for (
j= 0;
j < elem;
j++ )
4726 rlist->
m[
j].
data=(
void *)dummy;
4740 res->data= (
void*)rlist;
◆ nuMPResMat()
returns module representing the multipolynomial resultant matrix Arguments 2: ideal i, int k k=0: use sparse resultant matrix of Gelfand, Kapranov and Zelevinsky k=1: use resultant matrix of Macaulay (k=0 is default)
Definition at line 4593 of file ipshell.cc.
4595 ideal gls = (ideal)(arg1->
Data());
4596 int imtype= (int)(
long)arg2->
Data();
◆ nuUResSolve()
solve a multipolynomial system using the u-resultant Input ideal must be 0-dimensional and (currRing->N) == IDELEMS(ideal).
Resultant method can be MPR_DENSE, which uses Macaulay Resultant (good for dense homogeneous polynoms) or MPR_SPARSE, which uses Sparse Resultant (Gelfand, Kapranov, Zelevinsky). Arguments 4: ideal i, int k, int l, int m k=0: use sparse resultant matrix of Gelfand, Kapranov and Zelevinsky k=1: use resultant matrix of Macaulay (k=0 is default) l>0: defines precision of fractional part if ground field is Q m=0,1,2: number of iterations for approximation of roots (default=2) Returns a list containing the roots of the system.
Definition at line 4846 of file ipshell.cc.
4857 else gls= (ideal)(
v->Data());
4863 else imtype= (int)(
long)
v->Data();
4868 ideal test_id=
idInit(1,1);
4872 if (gls->m[
j]!=
NULL)
4874 test_id->m[0]=gls->m[
j];
4878 WerrorS(
"Newton polytope not of expected dimension");
4892 unsigned long int ii=(
unsigned long int)
v->Data();
4900 else howclean= (int)(
long)
v->Data();
4929 WerrorS(
"Error occurred during matrix setup!");
4937 #ifdef mprDEBUG_PROT
4942 WerrorS(
"Unsuitable input ideal: Minor of resultant matrix is singular!");
4948 if ( interpolate_det )
4954 if ( interpolate_det )
4959 #ifdef mprDEBUG_PROT
4961 for (
i=0;
i < c;
i++)
pWrite(iproots[
i]->getPoly());
4963 for (
i=0;
i < c;
i++)
pWrite(muiproots[
i]->getPoly());
4967 arranger=
new rootArranger( iproots, muiproots, howclean );
4978 WerrorS(
"Solver was unable to find any roots!");
4984 for (
i=0;
i <
count;
i++)
delete iproots[
i];
4987 for (
i=0;
i <
count;
i++)
delete muiproots[
i];
4994 res->data= (
void *)listofroots;
◆ nuVanderSys()
COMPUTE: polynomial p with values given by v at points p1,..,pN derived from p; more precisely: consider p as point in K^n and v as N elements in K, let p1,..,pN be the points in K^n obtained by evaluating all monomials of degree 0,1,...,N at p in lexicographical order, then the procedure computes the polynomial f satisfying f(pi) = v[i] RETURN: polynomial f of degree d.
Definition at line 4745 of file ipshell.cc.
4749 p= (ideal)arg1->
Data();
4750 w= (ideal)arg2->
Data();
4761 int tdg= (int)(
long)arg3->
Data();
4768 WerrorS(
"Last input parameter must be > 0!");
4776 if (
m != (
int)
pow((
double)tdg+1,(
double)n) )
4778 Werror(
"Size of second input ideal must be equal to %d!",
4779 (
int)
pow((
double)tdg+1,(
double)n));
4786 WerrorS(
"Ground field not implemented!");
4791 number *pevpoint= (number *)
omAlloc( n *
sizeof( number ) );
4792 for (
i= 0;
i < n;
i++ )
4801 WerrorS(
"Elements of first input ideal must not be equal to -1, 0, 1!");
4810 WerrorS(
"Elements of first input ideal must be numbers!");
4813 pevpoint[
i]=
nCopy( tmp );
4817 number *wresults= (number *)
omAlloc(
m *
sizeof( number ) );
4818 for (
i= 0;
i <
m;
i++ )
4827 WerrorS(
"Elements of second input ideal must be numbers!");
4835 number *ncpoly= vm.interpolateDense( wresults );
4837 poly rpoly= vm.numvec2poly( ncpoly );
4842 res->data= (
void*)rpoly;
◆ paPrint()
◆ rDecompose()
Definition at line 2041 of file ipshell.cc.
2050 || (r->qideal !=
NULL)
2057 WerrorS(
"ring with polynomial data must be the base ring or compatible");
2082 else if ( r->cf->extRing!=
NULL )
2092 Lc->m[0].data=(
void*)(
long)r->cf->m_nfCharQ;
2099 Lc->m[1].data=(
void*)Lv;
2110 Loo->
m[1].
data=(
void *)iv;
2113 Lo->
m[0].
data=(
void*)Loo;
2116 Lc->m[2].data=(
void*)Lo;
2127 L->
m[0].
data=(
void *)(
long)r->cf->ch;
2134 for(
i=0;
i<r->N;
i++)
2140 L->
m[1].
data=(
void *)LL;
2161 assume( r->block0[
i] == r->block1[
i] );
2162 const int s = r->block0[
i];
2168 else if (r->block1[
i]-r->block0[
i] >=0 )
2170 int bl=
j=r->block1[
i]-r->block0[
i];
2178 j+=r->wvhdl[
i][bl+1];
2181 if ((r->wvhdl!=
NULL) && (r->wvhdl[
i]!=
NULL))
2183 for(;
j>=0;
j--) (*iv)[
j]=r->wvhdl[
i][
j+(
j>bl)];
2185 else switch (r->order[
i])
2192 for(;
j>=0;
j--) (*iv)[
j]=1;
2202 LLL->
m[1].
data=(
void *)iv;
2203 LL->
m[
i].
data=(
void *)LLL;
2206 L->
m[2].
data=(
void *)LL;
2210 if (r->qideal==
NULL)
2215 #ifdef HAVE_PLURAL // NC! in rDecompose
◆ rDecompose_CF()
Definition at line 1839 of file ipshell.cc.
1846 WerrorS(
"ring with polynomial data must be the base ring or compatible");
1859 else if ( C->extRing!=
NULL )
1869 Lc->m[0].data=(
void*)(
long)C->m_nfCharQ;
1876 Lc->m[1].data=(
void*)Lv;
1887 Loo->
m[1].
data=(
void *)iv;
1890 Lo->
m[0].
data=(
void*)Loo;
1893 Lc->m[2].data=(
void*)Lo;
1899 res->data=(
void*)
Lc;
1904 res->data=(
void *)(
long)C->ch;
◆ rDecompose_list_cf()
Definition at line 1910 of file ipshell.cc.
1925 WerrorS(
"ring with polynomial data must be the base ring or compatible");
1943 L->
m[0].
data=(
char*)r->cf; r->cf->ref++;
1949 for(
i=0;
i<r->N;
i++)
1955 L->
m[1].
data=(
void *)LL;
1975 assume( r->block0[
i] == r->block1[
i] );
1976 const int s = r->block0[
i];
1982 else if (r->block1[
i]-r->block0[
i] >=0 )
1984 int bl=
j=r->block1[
i]-r->block0[
i];
1992 j+=r->wvhdl[
i][bl+1];
1995 if ((r->wvhdl!=
NULL) && (r->wvhdl[
i]!=
NULL))
1997 for(;
j>=0;
j--) (*iv)[
j]=r->wvhdl[
i][
j+(
j>bl)];
1999 else switch (r->order[
i])
2006 for(;
j>=0;
j--) (*iv)[
j]=1;
2016 LLL->
m[1].
data=(
void *)iv;
2017 LL->m[
i].data=(
void *)LLL;
2020 L->
m[2].
data=(
void *)LL;
2024 if (r->qideal==
NULL)
2029 #ifdef HAVE_PLURAL // NC! in rDecompose
◆ rDefault()
◆ rFindHdl()
◆ rInit()
Definition at line 5543 of file ipshell.cc.
5574 WerrorS(
"parameter expected");
5581 for(
int i=pars-1;
i>=0;
i--)
5593 int ch = (int)(
long)pn->
Data();
5604 if ((ch<2)||(ch!=ch2))
5606 Warn(
"%d is invalid as characteristic of the ground field. 32003 is used.", ch);
5621 if ((ch!=0) && (ch!=
IsPrime(ch)) && (pars == 1))
5633 if ((ch!=0) && (ch!=
IsPrime(ch)))
5635 WerrorS(
"too many parameters");
5643 WerrorS(
"parameter expected");
5649 extParam.
r =
rDefault( ch, pars, names);
5650 for(
int i=pars-1;
i>=0;
i--)
5663 && ((strcmp(pn->
name,
"real")==0) || (strcmp(pn->
name,
"complex")==0)))
5666 BOOLEAN complex_flag=(strcmp(pn->
name,
"complex")==0);
5669 float_len=(int)(
long)pnn->
Data();
5670 float_len2=float_len;
5674 float_len2=(int)(
long)pnn->
Data();
5709 else if ((pn->
name !=
NULL) && (strcmp(pn->
name,
"integer") == 0))
5713 unsigned int modExponent = 1;
5714 mpz_init_set_si(modBase, 0);
5721 mpz_set_ui(modBase, (
int)(
long) pnn->
Data());
5725 modExponent = (long) pnn->
Data();
5730 mpz_mul_ui(modBase, modBase, (
int)(
long) pnn->
Data());
5743 if ((mpz_cmp_ui(modBase, 1) == 0) && (
mpz_sgn1(modBase) < 0))
5745 WerrorS(
"Wrong ground ring specification (module is 1)");
5748 if (modExponent < 1)
5750 WerrorS(
"Wrong ground ring specification (exponent smaller than 1");
5755 if (modExponent > 1 &&
cf ==
NULL)
5757 if ((mpz_cmp_ui(modBase, 2) == 0) && (modExponent <= 8*
sizeof(
unsigned long)))
5768 WerrorS(
"modulus must not be 0 or parameter not allowed");
5774 info.exp= modExponent;
5783 WerrorS(
"modulus must not be 0 or parameter not allowed");
5789 info.exp= modExponent;
5800 extParam.
r = (ring)pn->
Data();
5812 WerrorS(
"Wrong or unknown ground field specification");
5818 Print(
"pn[%p]: type: %d [%s]: %p, name: %s", (
void*)
p,
p->Typ(),
Tok2Cmdname(
p->Typ()),
p->Data(), (
p->name ==
NULL?
"NULL" :
p->name) );
5840 WerrorS(
"Invalid ground field specification");
5864 WerrorS(
"name of ring variable expected");
◆ rKill() [1/2]
◆ rKill() [2/2]
Definition at line 6076 of file ipshell.cc.
6078 if ((r->ref<=0)&&(r->order!=
NULL))
6088 if (
j==0)
WarnS(
"killing the basering for level 0");
6093 while (r->idroot!=
NULL)
6096 killhdl2(r->idroot,&(r->idroot),r);
◆ rSetHdl()
Definition at line 5050 of file ipshell.cc.
5057 if (rg==
NULL)
return;
5082 Warn(
"deleting denom_list for ring change to %s",
IDID(
h));
5096 if ((rg!=
NULL) && (rg->idroot==
NULL))
◆ rSimpleFindHdl()
◆ scIndIndset()
Definition at line 1022 of file ipshell.cc.
1088 res->m[
i].data = (
void *)save->set;
1100 res->m[
i].data = (
void *)save->set;
◆ semicProc()
Definition at line 4489 of file ipshell.cc.
4492 memset(&tmp,0,
sizeof(tmp));
◆ semicProc3()
Definition at line 4449 of file ipshell.cc.
4452 BOOLEAN qh=(((int)(
long)
w->Data())==1);
4463 WerrorS(
"first argument is not a spectrum" );
4468 WerrorS(
"second argument is not a spectrum" );
◆ setOption()
Definition at line 585 of file misc_ip.cc.
611 if(strcmp(n,
"get")==0)
620 if(strcmp(n,
"set")==0)
640 if(strcmp(n,
"none")==0)
658 WarnS(
"cannot set option");
669 else if ((strncmp(n,
"no",2)==0)
677 WarnS(
"cannot clear option");
696 else if ((strncmp(n,
"no",2)==0)
711 Werror(
"unknown option `%s`",n);
720 extern int om_sing_opt_show_mem;
722 else om_sing_opt_show_mem = 0;
◆ showOption()
◆ singular_example()
void singular_example |
( |
char * |
str | ) |
|
Definition at line 448 of file misc_ip.cc.
454 while (*ss!=
'\0') ss++;
464 if((lib!=
NULL)&&(*lib!=
'\0'))
466 Print(
"// proc %s from lib %s\n",
s,lib);
487 sprintf(sing_file,
"%s/%s.sing", res_m,
s);
501 got = fread(
s,
sizeof(
char),
length,
fd);
505 Werror(
"Error while reading file %s", sing_file);
510 strcat(
s,
"\n;return();\n\n");
519 Werror(
"no example for %s", str);
◆ singular_system()
◆ spaddProc()
Definition at line 4366 of file ipshell.cc.
4379 WerrorS(
"first argument is not a spectrum:" );
4384 WerrorS(
"second argument is not a spectrum:" );
◆ spectrumfProc()
Definition at line 4122 of file ipshell.cc.
4137 WerrorS(
"only works for local orderings" );
4142 WerrorS(
"does not work in quotient rings" );
◆ spectrumProc()
Definition at line 4071 of file ipshell.cc.
4083 WerrorS(
"only works for local orderings" );
4091 WerrorS(
"does not work in quotient rings" );
◆ spmulProc()
Definition at line 4408 of file ipshell.cc.
4417 int k = (int)(
long)second->Data( );
4421 WerrorS(
"first argument is not a spectrum" );
4426 WerrorS(
"second argument should be positive" );
◆ syBetti1()
Definition at line 3110 of file ipshell.cc.
3113 memset(&tmp,0,
sizeof(tmp));
◆ syBetti2()
Definition at line 3087 of file ipshell.cc.
3091 BOOLEAN minim=(int)(
long)
w->Data();
3093 int add_row_shift=0;
3099 add_row_shift = ww->
min_in();
3100 (*weights) -= add_row_shift;
◆ syConvList()
◆ syConvRes()
◆ syForceMin()
◆ test_cmd()
◆ Tok2Cmdname()
const char* Tok2Cmdname |
( |
int |
i | ) |
|
Definition at line 138 of file gentable.cc.
144 if (tok==
COMMAND)
return "command";
145 if (tok==
ANY_TYPE)
return "any_type";
146 if (tok==
NONE)
return "nothing";
153 if (tok==
IDHDL)
return "identifier";
157 while (
cmds[
i].tokval!=0)
159 if ((
cmds[
i].tokval == tok)&&(
cmds[
i].alias==0))
166 while (
cmds[
i].tokval!=0)
168 if (
cmds[
i].tokval == tok)
176 sprintf(
s,
"(%d)",tok);
◆ type_cmd()
◆ versionString()
Definition at line 788 of file misc_ip.cc.
791 StringAppend(
"Singular for %s version %s (%d, %d bit) %s #%s",
794 #ifdef MAKE_DISTRIBUTION
795 VERSION_DATE, GIT_VERSION);
801 #if defined(mpir_version)
802 StringAppend(
"MPIR(%s)~GMP(%s),", mpir_version, gmp_version);
803 #elif defined(gmp_version)
809 #include <NTL/version.h>
822 #if defined(HAVE_DYN_RL)
836 #if defined(HAVE_READLINE) && !defined(FEREAD)
854 #ifdef HAVE_DYNAMIC_LOADING
886 #ifdef __OPTIMIZE_SIZE__
892 #ifdef HAVE_GENERIC_ADD
897 #ifdef HAVE_GENERIC_MULT
919 #define SI_SHOW_BUILTIN_MODULE(name) StringAppend(" %s", #name);
923 #undef SI_SHOW_BUILTIN_MODULE
926 "CC = %s,FLAGS : %s,\n"
927 "CXX = %s,FLAGS : %s,\n"
928 "DEFS : %s,CPPFLAGS : %s,\n"
929 "LDFLAGS : %s,LIBS : %s "
931 "(ver: " __VERSION__
")"
933 "\n",AC_CONFIGURE_ARGS, CC,CFLAGS, CXX,CXXFLAGS, DEFS,CPPFLAGS, LDFLAGS,LIBS);
◆ currid
◆ dArith1
◆ dArith2
◆ dArith3
◆ dArithM
◆ iiCurrArgs
◆ iiCurrProc
◆ iiLocalRing
◆ iiOp
◆ iiRETURNEXPR
◆ iiRETURNEXPR_len
◆ lastreserved
◆ myynest
◆ printlevel
◆ si_echo
◆ yyInRingConstruction
static FORCE_INLINE n_coeffType getCoeffType(const coeffs r)
Returns the type of coeffs domain.
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)
char * fe_fgets_dummy(const char *, char *, int)
static void rDecomposeC(leftv h, const ring R)
short float_len2
additional char-flags, rInit
#define omCheckAddrSize(addr, size)
void hIndMult(scmon pure, int Npure, scfmon rad, int Nrad, varset var, int Nvar)
@ n_Zn
only used if HAVE_RINGS is defined
double wFunctionalBuch(int *degw, int *lpol, int npol, double *rel, double wx, double wNsqr)
const BOOLEAN p_procs_dynamic
static BOOLEAN jiAssign_1(leftv l, leftv r, BOOLEAN toplevel)
static char * iiGetLibName(const procinfov pi)
find the library of an proc
static FORCE_INLINE BOOLEAN nCoeff_is_numeric(const coeffs r)
void countedref_shared_load()
static BOOLEAN rField_is_long_R(const ring r)
BOOLEAN jjBETTI2_ID(leftv res, leftv u, leftv v)
void iiCheckPack(package &p)
ideal twostd(ideal I)
Compute two-sided GB:
#define pIsConstant(p)
like above, except that Comp might be != 0
ideal TranMImprovwalk(ideal G, intvec *curr_weight, intvec *target_tmp, int nP)
struct for passing initialization parameters to naInitChar
void StringAppendS(const char *st)
void syMinimizeResolvente(resolvente res, int length, int first)
ideal Mwalk(ideal Go, intvec *orig_M, intvec *target_M, ring baseRing, int reduction, int printout)
BOOLEAN spectrumfProc(leftv result, leftv first)
FILE * feFopen(const char *path, const char *mode, char *where, short useWerror, short path_only)
virtual IStateType initState() const
static void iiCallLibProcBegin()
static BOOLEAN jiA_INTVEC_L(leftv l, leftv r)
#define idDelete(H)
delete an ideal
void scComputeHC(ideal S, ideal Q, int ak, poly &hEdge, ring tailRing)
BOOLEAN iiEStart(char *example, procinfo *pi)
BOOLEAN iiApplyLIST(leftv res, leftv a, int op, leftv proc)
SI_FOREACH_BUILTIN(SI_GET_BUILTIN_MOD_INIT0) }
lists gmsNF(ideal p, ideal g, matrix B, int D, int K)
#define MATELEM(mat, i, j)
const char * lastreserved
void rChangeCurrRing(ring r)
poly nc_p_Bracket_qq(poly p, const poly q, const ring r)
returns [p,q], destroys p
#define SHORT_REAL_LENGTH
Creation data needed for finite fields.
@ n_long_C
complex floating point (GMP) numbers
BOOLEAN iiExprArith1(leftv res, leftv a, int op)
BOOLEAN iiMake_proc(idhdl pn, package pack, leftv sl)
BOOLEAN syBetti2(leftv res, leftv u, leftv w)
#define pGetExp(p, i)
Exponent.
matrix evRowElim(matrix M, int i, int j, int k)
idhdl enterid(const char *s, int lev, int t, idhdl *root, BOOLEAN init, BOOLEAN search)
void hRadical(scfmon rad, int *Nrad, int Nvar)
intvec * MwalkNextWeight(intvec *curr_weight, intvec *target_weight, ideal G)
virtual number getSubDet()
BOOLEAN jjBETTI2(leftv res, leftv u, leftv v)
intvec * MPertVectorslp(ideal G, intvec *ivtarget, int pdeg)
bool solver(const int polishmode=PM_NONE)
CanonicalForm map(const CanonicalForm &primElem, const Variable &alpha, const CanonicalForm &F, const Variable &beta)
map from to such that is mapped onto
int M3ivSame(intvec *temp, intvec *u, intvec *v)
feOptIndex feGetOptIndex(const char *name)
@ n_Z2m
only used if HAVE_RINGS is defined
rootContainer ** interpolateDenseSP(BOOLEAN matchUp=false, const number subDetVal=NULL)
static BOOLEAN iiExprArith3TabIntern(leftv res, int op, leftv a, leftv b, leftv c, const struct sValCmd3 *dA3, int at, int bt, int ct, const struct sConvertTypes *dConvertTypes)
ideal freegb(ideal I, int uptodeg, int lVblock)
intvec * syBetti(resolvente res, int length, int *regularity, intvec *weights, BOOLEAN tomin, int *row_shift)
ideal loNewtonPolytope(const ideal id)
int yylplex(const char *libname, const char *libfile, lib_style_types *lib_style, idhdl pl, BOOLEAN autoexport=FALSE, lp_modes=LOAD_LIB)
#define BREAK_LINE_LENGTH
intvec * id_QHomWeight(ideal id, const ring r)
void idGetNextChoise(int r, int end, BOOLEAN *endch, int *choise)
int iiDeclCommand(leftv sy, leftv name, int lev, int t, idhdl *root, BOOLEAN isring, BOOLEAN init_b)
vandermonde system solver for interpolating polynomials from their values
static BOOLEAN length(leftv result, leftv arg)
idhdl rDefault(const char *s)
idhdl get(const char *s, int lev)
ideal Mpwalk(ideal Go, int op_deg, int tp_deg, intvec *curr_weight, intvec *target_weight, int nP, int reduction, int printout)
const struct soptionStruct optionStruct[]
BOOLEAN iiAllStart(procinfov pi, char *p, feBufferTypes t, int l)
static BOOLEAN jjA_L_STRING(leftv l, leftv r)
static BOOLEAN jjA_L_INTVEC(leftv l, leftv r, intvec *iv)
lists liMakeResolv(resolvente r, int length, int reallen, int typ0, intvec **weights, int add_row_shift)
BOOLEAN spmulProc(leftv result, leftv first, leftv second)
static void list1(const char *s, idhdl h, BOOLEAN c, BOOLEAN fullname)
const char * feSetOptValue(feOptIndex opt, char *optarg)
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
coeffs nInitChar(n_coeffType t, void *parameter)
one-time initialisations for new coeffs in case of an error return NULL
@ n_Q
rational (GMP) numbers
static resolvente iiCopyRes(resolvente r, int l)
void feStringAppendBrowsers(int warn)
semicState list_is_spectrum(lists l)
BOOLEAN semicProc3(leftv res, leftv u, leftv v, leftv w)
@ n_Znm
only used if HAVE_RINGS is defined
void hDimSolve(scmon pure, int Npure, scfmon rad, int Nrad, varset var, int Nvar)
static FORCE_INLINE BOOLEAN nCoeff_is_GF(const coeffs r)
resolvente syReorder(resolvente res, int length, syStrategy syzstr, BOOLEAN toCopy=TRUE, resolvente totake=NULL)
char *(* fe_fgets_stdin)(const char *pr, char *s, int size)
int pcvBasis(lists b, int i, poly m, int d, int n)
void printBlackboxTypes()
list all defined type (for debugging)
BOOLEAN idIs0(ideal h)
returns true if h is the zero ideal
poly kNFBound(ideal F, ideal Q, poly p, int bound, int syzComp, int lazyReduce)
const struct soptionStruct verboseStruct[]
Class used for (list of) interpreter objects.
BOOLEAN rSleftvOrdering2Ordering(sleftv *ord, ring R)
static BOOLEAN jiA_VECTOR_L(leftv l, leftv r)
mprState mprIdealCheck(const ideal theIdeal, const char *name, uResultant::resMatType mtype, BOOLEAN rmatrix=false)
matrix evSwap(matrix M, int i, int j)
poly pOppose(ring Rop_src, poly p, const ring Rop_dst)
opposes a vector p from Rop to currRing (dst!)
BOOLEAN maApplyFetch(int what, map theMap, leftv res, leftv w, ring preimage_r, int *perm, int *par_perm, int P, nMapFunc nMap)
SModulFunc_t iiGetBuiltinModInit(const char *libname)
const char * iiTwoOps(int t)
static long pTotaldegree(poly p)
spectrum spectrumFromList(lists l)
void feStringAppendResources(int warn)
@ n_long_R
real floating point (GMP) numbers
void factoryseed(int s)
random seed initializer
static void iiCleanProcs(idhdl &root)
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
void HilbertSeries_OrbitData(ideal S, int lV, bool IG_CASE, bool mgrad, bool odp, int trunDegHs)
poly singclap_resultant(poly f, poly g, poly x, const ring r)
char * fe_fgets(const char *pr, char *s, int size)
idhdl packFindHdl(package r)
int ssiReservePort(int clients)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
static BOOLEAN check_valid(const int p, const int op)
ideal MAltwalk2(ideal Go, intvec *curr_weight, intvec *target_weight)
static short rVar(const ring r)
#define rVar(r) (r->N)
#define TEST_OPT_INTSTRATEGY
intvec * ivCopy(const intvec *o)
BOOLEAN rHasLocalOrMixedOrdering(const ring r)
void countedref_reference_load()
Initialize blackbox types 'reference' and 'shared', or both.
long id_RankFreeModule(ideal s, ring lmRing, ring tailRing)
return the maximal component number found in any polynomial in s
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
static BOOLEAN idIsZeroDim(ideal i)
ideal Mprwalk(ideal Go, intvec *orig_M, intvec *target_M, int weight_rad, int op_deg, int tp_deg, int nP, int reduction, int printout)
static BOOLEAN jiAssign_list(leftv l, leftv r)
BOOLEAN iiLoadLIB(FILE *fp, const char *libnamebuf, const char *newlib, idhdl pl, BOOLEAN autoexport, BOOLEAN tellerror)
int status int void * buf
void setGMPFloatDigits(size_t digits, size_t rest)
Set size of mantissa digits - the number of output digits (basis 10) the size of mantissa consists of...
void killlocals_rec(idhdl *root, int v, ring r)
void PrintS(const char *s)
lists pcvPMulL(poly p, lists l1)
bool luSolveViaLDUDecomp(const matrix pMat, const matrix lMat, const matrix dMat, const matrix uMat, const poly l, const poly u, const poly lTimesU, const matrix bVec, matrix &xVec, matrix &H)
Solves the linear system A * x = b, where A is an (m x n)-matrix which is given by its LDU-decomposit...
#define omFreeSize(addr, size)
static FORCE_INLINE BOOLEAN nCoeff_is_algExt(const coeffs r)
TRUE iff r represents an algebraic extension field.
intvec * Mivperttarget(ideal G, int ndeg)
void killhdl2(idhdl h, idhdl *ih, ring r)
#define SI_SHOW_BUILTIN_MODULE(name)
void lduDecomp(const matrix aMat, matrix &pMat, matrix &lMat, matrix &dMat, matrix &uMat, poly &l, poly &u, poly &lTimesU)
LU-decomposition of a given (m x n)-matrix with performing only those divisions that yield zero remai...
static BOOLEAN iiAssign_sys(leftv l, leftv r)
int MivSame(intvec *u, intvec *v)
BOOLEAN iiApplyIDEAL(leftv, leftv, int, leftv)
gmp_complex * getRoot(const int i)
void * malloc(size_t size)
ideal maMapIdeal(const ideal map_id, const ring preimage_r, const ideal image_id, const ring image_r, const nMapFunc nMap)
polynomial map for ideals/module/matrix map_id: the ideal to map map_r: the base ring for map_id imag...
#define nPrint(a)
only for debug, over any initalized currRing
const struct sValCmd3 dArith3[]
ideal Mfwalk(ideal G, intvec *ivstart, intvec *ivtarget, int reduction, int printout)
#define TRACE_SHOW_LINENO
char * iiGetLibProcBuffer(procinfo *pi, int part)
static BOOLEAN rField_is_Ring(const ring r)
char * iiConvName(const char *libname)
BOOLEAN slWrite(si_link l, leftv v)
BOOLEAN load_modules(const char *newlib, char *fullname, BOOLEAN autoexport)
static FORCE_INLINE BOOLEAN nCoeff_is_Ring(const coeffs r)
BOOLEAN load_builtin(const char *newlib, BOOLEAN autoexport, SModulFunc_t init)
ideal RightColonOperation(ideal S, poly w, int lV)
poly pcvCV2P(poly cv, int d0, int d1)
BOOLEAN lRingDependend(lists L)
BOOLEAN semicProc(leftv res, leftv u, leftv v)
void hKill(monf xmem, int Nvar)
intvec * MivMatrixOrderdp(int nV)
void atSet(idhdl root, char *name, void *data, int typ)
matrix singclap_irrCharSeries(ideal I, const ring r)
int(* SModulFunc_t)(SModulFunctions *)
int blackboxIsCmd(const char *n, int &tok)
used by scanner: returns ROOT_DECL for known types (and the type number in tok)
@ n_Z
only used if HAVE_RINGS is defined
BOOLEAN jjLOAD(const char *s, BOOLEAN autoexport)
load lib/module given in v
void list_cmd(int typ, const char *what, const char *prefix, BOOLEAN iterate, BOOLEAN fullname)
unsigned nLastIdentifier
valid indentifieres are slot 1..nLastIdentifier
static void rRenameVars(ring R)
const char * singular_date
BOOLEAN spaddProc(leftv result, leftv first, leftv second)
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 hDelete(scfmon ev, int ev_length)
void killhdl(idhdl h, package proot)
static BOOLEAN iiNoKeepRing
void ipMoveId(idhdl tomove)
resMatrixBase * accessResMat()
short float_len
additional char-flags, rInit
intvec * syBettiOfComputation(syStrategy syzstr, BOOLEAN minim=TRUE, int *row_shift=NULL, intvec *weights=NULL)
static BOOLEAN rField_is_R(const ring r)
double(* wFunctional)(int *degw, int *lpol, int npol, double *rel, double wx, double wNsqr)
static int ipSwapId(idhdl tomove, idhdl &root1, idhdl &root2)
intvec * MivMatrixOrder(intvec *iv)
static void WerrorS_dummy(const char *)
lib_types type_of_LIB(const char *newlib, char *libnamebuf)
static int rBlocks(ring r)
int iiTestConvert(int inputType, int outputType)
void CleanUp(ring r=currRing)
idhdl rSimpleFindHdl(ring r, idhdl root, idhdl n)
void wCall(poly *s, int sl, int *x, double wNsqr, const ring R)
int idGetNumberOfChoise(int t, int d, int begin, int end, int *choise)
void hIndAllMult(scmon pure, int Npure, scfmon rad, int Nrad, varset var, int Nvar)
char * omFindExec(const char *name, char *exec)
intvec * MivWeightOrderdp(intvec *ivstart)
matrix mpNew(int r, int c)
create a r x c zero-matrix
void fillContainer(number *_coeffs, number *_ievpoint, const int _var, const int _tdg, const rootType _rt, const int _anz)
char * complexToStr(gmp_complex &c, const unsigned int oprec, const coeffs src)
ideal MwalkInitialForm(ideal G, intvec *ivw)
denominator_list DENOMINATOR_LIST
libstackv pop(const char *p)
@ n_transExt
used for all transcendental extensions, i.e., the top-most extension in an extension tower is transce...
const char * Tok2Cmdname(int tok)
BOOLEAN iiDefaultParameter(leftv p)
intvec * MPertVectors(ideal G, intvec *ivtarget, int pdeg)
Linear Programming / Linear Optimization using Simplex - Algorithm.
int exprlist_length(leftv v)
static BOOLEAN iiInternalExport(leftv v, int toLev)
@ n_R
single prescision (6,6) real numbers
static FORCE_INLINE const char ** n_ParameterNames(const coeffs r)
Returns a (const!) pointer to (const char*) names of parameters.
struct fe_option feOptSpec[]
Base class for solving 0-dim poly systems using u-resultant.
void hPure(scfmon stc, int a, int *Nstc, varset var, int Nvar, scmon pure, int *Npure)
cmdnames * sCmds
array of existing commands
resolvente liFindRes(lists L, int *len, int *typ0, intvec ***weights)
void rDelete(ring r)
unconditionally deletes fields in r
char * fe_fgets_stdin_drl(const char *pr, char *s, int size)
uResultant::resMatType determineMType(int imtype)
ideal MAltwalk1(ideal Go, int op_deg, int tp_deg, intvec *curr_weight, intvec *target_weight)
intvec * MivMatrixOrderlp(int nV)
static void iiCallLibProcEnd(idhdl save_ringhdl, ring save_ring)
static void iiReportTypes(int nr, int t, const short *T)
idhdl rFindHdl(ring r, idhdl n)
#define IMATELEM(M, I, J)
static void iiShowLevRings()
static char * feResource(feResourceConfig config, int warn)
procinfo * iiInitSingularProcinfo(procinfov pi, const char *libname, const char *procname, int, long pos, BOOLEAN pstatic)
scfmon hInit(ideal S, ideal Q, int *Nexist, ring tailRing)
int IsCmd(const char *n, int &tok)
static BOOLEAN rField_is_numeric(const ring r)
BOOLEAN newstruct_set_proc(const char *bbname, const char *func, int args, procinfov pr)
static BOOLEAN rField_is_GF(const ring r)
bool complexNearZero(gmp_complex *c, int digits)
intvec * MkInterRedNextWeight(intvec *iva, intvec *ivb, ideal G)
void rDecomposeCF(leftv h, const ring r, const ring R)
int pcvDim(int d0, int d1)
void StringSetS(const char *st)
static void iiRunInit(package p)
BOOLEAN spectrumProc(leftv result, leftv first)
static int si_max(const int a, const int b)
static CanonicalForm bound(const CFMatrix &M)
poly p_Shrink(poly p, int lV, const ring r)
static BOOLEAN jjA_L_BIGINTMAT(leftv l, leftv r, bigintmat *bim)
void list_error(semicState state)
int mult_spectrum(spectrum &)
BOOLEAN ringIsLocal(const ring r)
poly pcvP2CV(poly p, int d0, int d1)
void spectrumPrintError(spectrumState state)
BOOLEAN iiApplyINTVEC(leftv res, leftv a, int op, leftv proc)
void hSupp(scfmon stc, int Nstc, varset var, int *Nvar)
@ ringorder_IS
Induced (Schreyer) ordering.
void * atGet(idhdl root, const char *name, int t, void *defaultReturnValue)
void Werror(const char *fmt,...)
ideal idXXX(ideal h1, int k)
#define pLastVblock(p, lV)
void idInitChoise(int r, int beg, int end, BOOLEAN *endch, int *choise)
ideal idInit(int idsize, int rank)
initialise an ideal / module
char * fe_fgets_stdin_emu(const char *pr, char *s, int size)
const char * rSimpleOrdStr(int ord)
static SArithBase sArithBase
Base entry for arithmetic.
char name(const Variable &v)
Rational pow(const Rational &a, int e)
void WerrorS(const char *s)
static BOOLEAN rField_has_simple_inverse(const ring r)
matrix singntl_LLL(matrix m, const ring s)
void(* WerrorS_callback)(const char *s)
virtual ideal getMatrix()
intvec * MPertNextWeight(intvec *iva, ideal G, int deg)
static BOOLEAN rSleftvList2StringArray(leftv sl, char **p)
int simpleipc_cmd(char *cmd, int id, int v)
#define BIMATELEM(M, I, J)
lists pcvLAddL(lists l1, lists l2)
lists evEigenvals(matrix M)
static void jjINT_S_TO_ID(int n, int *e, leftv res)
ideal Mrwalk(ideal Go, intvec *orig_M, intvec *target_M, int weight_rad, int pert_deg, int reduction, int printout)
static void killlocals0(int v, idhdl *localhdl, const ring r)
static BOOLEAN iiExprArith2TabIntern(leftv res, leftv a, int op, leftv b, BOOLEAN proccall, const struct sValCmd2 *dA2, int at, int bt, const struct sConvertTypes *dConvertTypes)
const char feNotImplemented[]
static int WerrorS_dummy_cnt
matrix evHessenberg(matrix M)
ring rAssure_HasComp(const ring r)
lists listOfRoots(rootArranger *self, const unsigned int oprec)
BOOLEAN iiPStart(idhdl pn, leftv v)
static BOOLEAN jiA_MATRIX_L(leftv l, leftv r)
const Variable & v
< [in] a sqrfree bivariate poly
const struct sConvertTypes dConvertTypes[]
#define omCheckAddr(addr)
INLINE_THIS void Init(int l=0)
static BOOLEAN jjWRONG(leftv, leftv)
BOOLEAN mapFromMatrix(matrix m)
static long p_Totaldegree(poly p, const ring r)
unsigned nCmdUsed
number of commands used
static BOOLEAN jjA_L_LIST(leftv l, leftv r)
const char * par_name
parameter name
BOOLEAN iiApplyBIGINTMAT(leftv, leftv, int, leftv)
BOOLEAN load_builtin(const char *newlib, BOOLEAN autoexport, SModulFunc_t init)
intvec * MivWeightOrderlp(intvec *ivstart)
int mult_spectrumh(spectrum &)
idhdl ggetid(const char *n)
const CanonicalForm int s
const struct soptionStruct optionStruct[]
BOOLEAN iiCheckTypes(leftv args, const short *type_list, int report)
check a list of arguemys against a given field of types return TRUE if the types match return FALSE (...
intvec * Mfpertvector(ideal G, intvec *ivtarget)
int status int void size_t count
const char * Tok2Cmdname(int tok)
static BOOLEAN jiAssign_rec(leftv l, leftv r)
static void * feOptValue(feOptIndex opt)
#define pCopy(p)
return a copy of the poly
spectrumState spectrumCompute(poly h, lists *L, int fast)
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
void rDecomposeRing_41(leftv h, const coeffs C)
ideal Mfrwalk(ideal G, intvec *ivstart, intvec *ivtarget, int weight_rad, int reduction, int printout)
complex root finder for univariate polynomials based on laguers algorithm
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
lists getList(spectrum &spec)
#define TEST_RINGDEP_OPTS
static const char ** rParameter(const ring r)
(r->cf->parameter)
static void iiCheckNest()
lists syConvRes(syStrategy syzstr, BOOLEAN toDel, int add_row_shift)
matrix mp_Copy(matrix a, const ring r)
copies matrix a (from ring r to r)
static BOOLEAN rField_is_long_C(const ring r)
BOOLEAN iiLibCmd(char *newlib, BOOLEAN autoexport, BOOLEAN tellerror, BOOLEAN force)
unsigned char * proc[NUM_PROC]
#define omFreeBin(addr, bin)
poly p_LPshift(poly p, int sh, int uptodeg, int lV, const ring r)
void newBuffer(char *s, feBufferTypes t, procinfo *pi, int lineno)
blackbox * getBlackboxStuff(const int t)
return the structure to the type given by t
#define pGetVariables(p, e)
void hLexR(scfmon rad, int Nrad, varset var, int Nvar)
BOOLEAN iiAssign(leftv l, leftv r, BOOLEAN toplevel)
const ExtensionInfo & info
< [in] sqrfree poly
matrix mapToMatrix(matrix m)
static void rDecomposeC_41(leftv h, const coeffs C)
void newstructShow(newstruct_desc d)
ideal singclap_absFactorize(poly f, ideal &mipos, intvec **exps, int &numFactors, const ring r)
void syKillComputation(syStrategy syzstr, ring r=currRing)
void syKillEmptyEntres(resolvente res, int length)
BOOLEAN killlocals_list(int v, lists L)
void nKillChar(coeffs r)
undo all initialisations
rootContainer ** specializeInU(BOOLEAN matchUp=false, const number subDetVal=NULL)
gmp_complex numbers based on
void rDecomposeRing(leftv h, const ring R)
char * singclap_neworder(ideal I, const ring r)
static BOOLEAN rField_is_Q(const ring r)
ideal id_TensorModuleMult(const int m, const ideal M, const ring rRing)
BOOLEAN rComplete(ring r, int force)
this needs to be called whenever a new ring is created: new fields in ring are created (like VarOffse...
#define omReallocSize(addr, o_size, size)
void nlGMP(number &i, mpz_t n, const coeffs r)
void Clean(ring r=currRing)
const struct soptionStruct verboseStruct[]
#define idMaxIdeal(D)
initialise the maximal ideal (at 0)