13#include "factory/factory.h" 
   92  #define  NC_MASK (3+64) 
   99  #define ZERODIVISOR_MASK 8 
  102  #define ZERODIVISOR_MASK 0 
  104#define ALLOW_PLURAL     1 
  109#define NO_ZERODIVISOR   8 
  110#define ALLOW_ZERODIVISOR  0 
  112#define ALLOW_NC         ALLOW_LP|ALLOW_PLURAL 
  114#define ALLOW_ZZ (ALLOW_RING|NO_ZERODIVISOR) 
  120#define NO_CONVERSION    32 
  124#define bit31 SIZEOF_LONG*8-1 
  209extern int iiArithAddCmd(
const char *szName, 
short nAlias, 
short nTokval,
 
  210                         short nToktype, 
short nPos=-1);
 
  220#define ii_div_by_0 "div. by 0" 
  229  if ((
long)
i==
l) 
return l;
 
  250  long bb = (long)(
v->Data());
 
  255    case '+': cc=
bimAdd(aa,bb); 
break;
 
  256    case '-': cc=
bimSub(aa,bb); 
break;
 
  257    case '*': cc=
bimMult(aa,bb); 
break;
 
  259  res->data=(
char *)cc;
 
  269  number bb = (number)(
v->Data());
 
  276  res->data=(
char *)cc;
 
  286  int bb = (int)(
long)(
v->Data());
 
  290    case '+': (*aa) += bb; 
break;
 
  291    case '-': (*aa) -= bb; 
break;
 
  292    case '*': (*aa) *= bb; 
break;
 
  295    case '%': (*aa) %= bb; 
break;
 
  297  res->data=(
char *)aa;
 
  307  int bb = (int)(
long)(
v->Data());
 
  316  res->data=(
char *)aa;
 
  325  int l=(int)(
long)
v->Data();
 
  328    int d=(int)(
long)u->
Data();
 
  331    for(
i=
l-1;
i>=0;
i--) { (*vv)[
i]=d; }
 
  332    res->data=(
char *)vv;
 
  338  res->data=(
char *)
new intvec((
int)(long)u->
Data(),(int)(
long)
v->Data());
 
  350      res->data  = (
char *) (r<0);
 
  353      res->data  = (
char *) (r>0);
 
  356      res->data  = (
char *) (r<=0);
 
  359      res->data  = (
char *) (r>=0);
 
  363      res->data  = (
char *) (r==0);
 
  367  if(r==-2) { 
WerrorS(
"size incompatible"); 
return TRUE; }
 
  378      res->data  = (
char *) (r<0);
 
  381      res->data  = (
char *) (r>0);
 
  384      res->data  = (
char *) (r<=0);
 
  387      res->data  = (
char *) (r>=0);
 
  391      res->data  = (
char *) (r==0);
 
  395  if(r==-2) { 
WerrorS(
"size incompatible"); 
return TRUE; }
 
  401  int     b = (int)(
long)(
v->Data());
 
  406      res->data  = (
char *) (r<0);
 
  409      res->data  = (
char *) (r>0);
 
  412      res->data  = (
char *) (r<=0);
 
  415      res->data  = (
char *) (r>=0);
 
  419      res->data  = (
char *) (r==0);
 
  434      res->data  = (
char *) (
long)(r < 0);
 
  437      res->data  = (
char *) (
long)(r > 0);
 
  440      res->data  = (
char *) (
long)(r <= 0);
 
  443      res->data  = (
char *) (
long)(r >= 0);
 
  447      res->data  = (
char *)(
long) (r == 0);
 
  455  poly 
p=(poly)u->
Data();
 
  456  poly q=(poly)
v->Data();
 
  461      res->data  = (
char *) (r < 0);
 
  464      res->data  = (
char *) (r > 0);
 
  467      res->data  = (
char *) (r <= 0);
 
  470      res->data  = (
char *) (r >= 0);
 
  482  char*    a = (
char * )(u->
Data());
 
  483  char*    
b = (
char * )(
v->Data());
 
  515  else if (
v->Next()!=
NULL)
 
  525  long b=(long)u->
Data();
 
  526  long e=(long)
v->Data();
 
  535    else if ((e==0)||(
b==1))
 
  553          if(rc/
b!=oldrc) overflow=
TRUE;
 
  557        WarnS(
"int overflow(^), result may be wrong");
 
  559    res->data = (
char *)rc;
 
  565    WerrorS(
"exponent must be non-negative");
 
  571  int e=(int)(
long)
v->Data();
 
  572  number n=(number)u->
Data();
 
  579    WerrorS(
"exponent must be non-negative");
 
  587  int e=(int)(
long)
v->Data();
 
  588  number n=(number)u->
Data();
 
  605  int v_i=(int)(
long)
v->Data();
 
  608    WerrorS(
"exponent must be non-negative");
 
  617    Werror(
"OVERFLOW in power(d=%ld, e=%d, max=%ld)",
 
  660      res->data = 
v->CopyD();
 
  661      res->rtyp = 
v->Typ();
 
  701      if(isupper(u->
name[0]))
 
  703        const char *c=u->
name+1;
 
  704        while((*c!=
'\0')&&(islower(*c)||(isdigit(*c))||(*c==
'_'))) c++;
 
  709          Print(
"%s of type 'ANY'. Trying load.\n", u->
name);
 
  725        package pa=(package)u->Data();
 
  739          WerrorS(
"reserved name with ::");
 
  751      WerrorS(
"<package>::<id> expected");
 
  758  unsigned long a=(
unsigned long)u->
Data();
 
  759  unsigned long b=(
unsigned long)
v->Data();
 
  761  res->data = (
char *)((
long)c);
 
  764    WarnS(
"int overflow(+), result may be wrong");
 
  775  res->data = (
char *)(
nAdd((number)u->
Data(), (number)
v->Data()));
 
  810     WerrorS(
"intmat size not compatible");
 
  820    WerrorS(
"bigintmat/cmatrix not compatible");
 
  831     Werror(
"matrix size not compatible(%dx%d, %dx%d)",
 
  839  ideal 
A=(ideal)u->
Data(); ideal 
B=(ideal)
v->Data();
 
  843     Werror(
"matrix size not compatible(%dx%d, %dx%d)",
 
  866  char*    a = (
char * )(u->
Data());
 
  867  char*    
b = (
char * )(
v->Data());
 
  868  char*    r = (
char * )
omAlloc(strlen(a) + strlen(
b) + 1);
 
  876  res->data = (
char *)
idAdd((ideal)u->
Data(),(ideal)
v->Data());
 
  881  void *
ap=u->
Data(); 
void *bp=
v->Data();
 
  885  unsigned long a=(
unsigned long)
ap;
 
  886  unsigned long b=(
unsigned long)bp;
 
  890    WarnS(
"int overflow(-), result may be wrong");
 
  892  res->data = (
char *)cc;
 
  902  res->data = (
char *)(
nSub((number)u->
Data(), (number)
v->Data()));
 
  938     WerrorS(
"intmat size not compatible");
 
  948    WerrorS(
"bigintmat/cmatrix not compatible");
 
  959     Werror(
"matrix size not compatible(%dx%d, %dx%d)",
 
  968  ideal 
A=(ideal)u->
Data(); ideal 
B=(ideal)
v->Data();
 
  972     Werror(
"matrix size not compatible(%dx%d, %dx%d)",
 
  981  long a=(long)u->
Data();
 
  982  long b=(long)
v->Data();
 
  984  if ((a!=0)&&(c/a!=
b))
 
  985    WarnS(
"int overflow(*), result may be wrong");
 
  986  res->data = (
char *)c;
 
 1000  res->data = (
char *)(
nMult( (number)u->
Data(), (number)
v->Data()));
 
 1001  number n=(number)
res->data;
 
 1003  res->data=(
char *)n;
 
 1022        Warn(
"possible OVERFLOW in mult(d=%ld, d=%ld, max=%ld)",
 
 1035      Warn(
"possible OVERFLOW in mult(d=%ld, d=%ld, max=%ld)",
 
 1067     WerrorS(
"intmat size not compatible");
 
 1079    WerrorS(
"bigintmat/cmatrix not compatible");
 
 1093  res->data = (
char *)I;
 
 1106  res->data = (
char *)I;
 
 1115  res->data = (
char *)I;
 
 1144     Werror(
"matrix size not compatible(%dx%d, %dx%d) in *",
 
 1154  ideal 
A=(ideal)u->
Data(); ideal 
B=(ideal)
v->Data();
 
 1158     Werror(
"matrix size not compatible(%dx%d, %dx%d) in *",
 
 1175  res->data = (
char *)(
long)((int)((
long)u->
Data()) >= (
int)((long)
v->Data()));
 
 1193  res->data = (
char *)(
long)((int)((
long)u->
Data()) > (
int)((long)
v->Data()));
 
 1207  res->data = (
char *)(
long)((int)((
long)u->
Data()) <= (
int)((long)
v->Data()));
 
 1220  res->data = (
char *)(
long)((int)((
long)u->
Data()) < (
int)((long)
v->Data()));
 
 1230  int a= (int)(
long)u->
Data();
 
 1231  int b= (int)(
long)
v->Data();
 
 1245        r=((a-c) /
b);   
break;
 
 1247  res->data=(
void *)((
long)r);
 
 1252  number q=(number)
v->Data();
 
 1260  res->data = (
char *)q;
 
 1265  number q=(number)
v->Data();
 
 1273  res->data = (
char *)q;
 
 1278  poly q=(poly)
v->Data();
 
 1279  poly 
p=(poly)(u->
Data());
 
 1296  poly q=(poly)
v->Data();
 
 1320  res->data=(
char *)mm;
 
 1331  res->data = (
char *)((
int)((long)u->
Data()) == (
int)((long)
v->Data()));
 
 1349  res->data = (
char *)(
long)(u->
Data()==
v->Data());
 
 1355  res->data = (
char *)((
long)
nEqual((number)u->
Data(),(number)
v->Data()));
 
 1361  poly 
p=(poly)u->
Data();
 
 1362  poly q=(poly)
v->Data();
 
 1382  res->data = (
char *)((
long)u->
Data() && (long)
v->Data());
 
 1387  res->data = (
char *)((
long)u->
Data() || (long)
v->Data());
 
 1400    while (sh->next != 
NULL) sh=sh->next;
 
 1416    WerrorS(
"indexed object must have a name");
 
 1427    t.
data=(
char *)((
long)(*iv)[
i]);
 
 1450  poly 
p=(poly)u->
Data();
 
 1451  int i=(int)(
long)
v->Data();
 
 1471  int i=(int)(
long)
v->Data();
 
 1490  poly 
p=(poly)u->
Data();
 
 1498  while ((
p!=
NULL) && (sum>0))
 
 1514  res->data=(
char *)r;
 
 1519  poly 
p=(poly)u->
Data();
 
 1520  int i=(int)(
long)
v->Data();
 
 1555    res->data=(
char *)r;
 
 1563  long slen = strlen(u->
name) + 14;
 
 1564  char *nn = (
char*) 
omAlloc(slen);
 
 1565  sprintf(nn,
"%s(%d)",u->
name,(
int)(
long)
v->Data());
 
 1578  long slen = strlen(u->
name) + 14;
 
 1579  char *n = (
char*) 
omAlloc(slen);
 
 1592    sprintf(n,
"%s(%d)",u->
name,(*iv)[
i]);
 
 1613  while (
h->next!=
NULL) 
h=
h->next;
 
 1627    tmp_proc->
id=
"_auto";
 
 1631    d=u->
data; u->
data=(
void *)tmp_proc;
 
 1648  if (sl) 
return TRUE;
 
 1687  number *
x=(number *)
omAlloc(rl*
sizeof(number));
 
 1688  number *q=(number *)
omAlloc(rl*
sizeof(number));
 
 1690  for(
i=rl-1;
i>=0;
i--)
 
 1697  for(
i=rl-1;
i>=0;
i--)
 
 1703  res->data=(
char *)n;
 
 1713  number *
x=(number *)
omAlloc(rl*
sizeof(number));
 
 1714  number *q=(number *)
omAlloc(rl*
sizeof(number));
 
 1716  for(
i=rl-1;
i>=0;
i--)
 
 1722    for(
i=rl-1;
i>=0;
i--)
 
 1726        Werror(
"poly expected at pos %d",
i+1);
 
 1727        for(
i=rl-1;
i>=0;
i--)
 
 1739    for(
i=rl-1;
i>=0;
i--)
 
 1751    number n=n_ChineseRemainder(
x,q,rl,
currRing->cf);
 
 1752    for(
i=rl-1;
i>=0;
i--)
 
 1760  for(
i=rl-1;
i>=0;
i--)
 
 1772  int s=(int)(
long)
v->Data();
 
 1781  ideal 
M=(ideal)u->
CopyD();
 
 1782  int s=(int)(
long)
v->Data();
 
 1795  poly 
p=(poly)
v->Data();
 
 1802  poly 
p=(poly)
v->Data();
 
 1809  int i=
pVar((poly)
v->Data());
 
 1828                                    (ideal)(
v->Data()), 
p);
 
 1840  ideal I=(ideal)u->
Data();
 
 1845  res->data = (
char *)((
long)d);
 
 1850  poly 
p=(poly)u->
Data();
 
 1856    res->data = (
char *)(d);
 
 1859    res->data=(
char *)(
long)(-1);
 
 1864  int pos=(int)(
long)
v->Data();
 
 1871  int pos=(int)(
long)
v->Data();
 
 1872  ideal I=(ideal)u->
Data();
 
 1879  ideal I=(ideal)u->
Data();
 
 1906  ideal 
m=(ideal)u->
Data();
 
 1912  int i=
pVar((poly)
v->Data());
 
 1923  int i=
pVar((poly)
v->Data());
 
 1942     Warn(
"dim(%s,...) may be wrong because the mixed monomial ordering",
v->Name());
 
 1956  ideal vi=(ideal)
v->Data();
 
 1958  ideal ui=(ideal)u->
Data();
 
 1971  res->data=(
char *)L;
 
 2008  number uu=(number)u->
Data();number vv=(number)
v->Data();
 
 2017  res->data=(
char *)L;
 
 2022  int uu=(int)(
long)u->
Data();
int vv=(int)(
long)
v->Data();
 
 2023  int p0=
ABS(uu),p1=
ABS(vv);
 
 2024  int f0 = 1, f1 = 0, g0 = 0, g1 = 1, q, r;
 
 2045  res->data=(
char *)L;
 
 2052  if (ret) 
return TRUE;
 
 2055  res->data=(
char *)L;
 
 2056  L->
m[0].
data=(
void *)r;
 
 2068  int sw=(int)(
long)dummy->
Data();
 
 2070  if ((sw<0)||(sw>2)) fac_sw=1;
 
 2083      l->m[0].data=(
void *)
f;
 
 2085      l->m[1].data=(
void *)
v;
 
 2086      res->data=(
void *)
l;
 
 2091      res->data=(
void *)
f;
 
 2104        res->data=(
void *)
p;
 
 2131  res->data=(
void *)L;
 
 2138    number uu=(number)u->
Data();
 
 2139    number vv=(number)
v->Data();
 
 2147  ideal uu=(ideal)u->
Data();
 
 2148  number vv=(number)
v->Data();
 
 2170  ring r=(ring)u->
Data();
 
 2179    int par_perm_size=0;
 
 2189        par_perm_size=
rPar(r);
 
 2203      perm=(
int *)
omAlloc0((r->N+1)*
sizeof(int));
 
 2204      if (par_perm_size!=0)
 
 2205        par_perm=(
int *)
omAlloc0(par_perm_size*
sizeof(
int));
 
 2210        char ** r_par_names=
NULL;
 
 2211        if (r->cf->extRing!=
NULL)
 
 2213          r_par=r->cf->extRing->N;
 
 2214          r_par_names=r->cf->extRing->names;
 
 2217        char ** c_par_names=
NULL;
 
 2221          c_par_names=
currRing->cf->extRing->names;
 
 2225          maFindPerm(r->names,       r->N,       r_par_names, r_par,
 
 2227                     perm,par_perm, 
currRing->cf->type);
 
 2229        #ifdef HAVE_SHIFTBBA 
 2234                     perm,par_perm, 
currRing->cf->type,r->isLPring);
 
 2249          if (par_perm_size!=0)
 
 2264        Print(
"// par nr %d: %s -> %s\n",
 
 2274                         perm,par_perm,par_perm_size,nMap)))
 
 2292  Werror(
"no identity map from %s (%s -> %s)",u->
Fullname(),s1,s2);
 
 2303  char *where=(
char *)u->
Data();
 
 2304  char *what=(
char *)
v->Data();
 
 2305  char *
found = strstr(where,what);
 
 2308    res->data=(
char *)((
found-where)+1);
 
 2317  ideal 
id = (ideal)u->
Data();
 
 2318  int max_length = (int)(
long)
v->Data();
 
 2321    WerrorS(
"length for fres must not be negative");
 
 2324  if (max_length == 0)
 
 2329      Warn(
"full resolution in a qring may be infinite, " 
 2330           "setting max length to %d", max_length);
 
 2333  char *method = (
char *)
w->Data();
 
 2337  if (strcmp(method, 
"complete") != 0
 
 2338  && strcmp(method, 
"frame") != 0
 
 2339  && strcmp(method, 
"extended frame") != 0
 
 2340  && strcmp(method, 
"single module") != 0)
 
 2342    WerrorS(
"wrong optional argument for fres");
 
 2347  res->data = (
void *)r;
 
 2355    w->data = (
char *)
"complete";   
 
 2369  int uu=(int)(
long)u->
Data();
int vv=(int)(
long)
v->Data();
 
 2370  int p0=
ABS(uu),p1=
ABS(vv);
 
 2377  res->data=(
char *)(
long)p0;
 
 2382  number n1 = (number) u->
Data();
 
 2383  number n2 = (number) 
v->Data();
 
 2389  number a=(number) u->
Data();
 
 2390  number 
b=(number) 
v->Data();
 
 2415    PrintS(
"// NOTE: computation of Hilbert series etc. is being\n");
 
 2416    PrintS(
"//       performed for generic fibre, that is, over Q\n");
 
 2424  switch((
int)(
long)
v->Data())
 
 2427      res->data=(
void *)iv;
 
 2440  int i=
pVar((poly)
v->Data());
 
 2452    WerrorS(
"variable must have weight 1");
 
 2457  int i=
pVar((poly)
v->Data());
 
 2474    WerrorS(
"variable must have weight 1");
 
 2481  ideal v_id=(ideal)
v->Data();
 
 2490  currRing->pLexOrder=save_pLexOrder;
 
 2500  ideal v_id=(ideal)
v->Data();
 
 2520  const int n = L->
nr; 
assume (n >= 0);
 
 2521  std::vector<ideal> V(n + 1);
 
 2523  for(
int i = n; 
i >= 0; 
i--) V[
i] = (ideal)(L->
m[
i].
Data());
 
 2542  res->data = (
char *)
pJet((poly)u->
CopyD(), (int)(
long)
v->Data());
 
 2576  h.data=(
void *)(
long)
IDELEMS((ideal)
v->Data());
 
 2588      Werror(
"At least %d ncgen variables are needed for this computation.", ul);
 
 2608      Werror(
"At least %d ncgen variables are needed for this computation.", 
IDELEMS((ideal)u->
Data()));
 
 2625  char * 
s=(
char *)u->
Data();
 
 2626  if(strcmp(
s, 
"with")==0)
 
 2628  if (strcmp(
s,
"try")==0)
 
 2630  WerrorS(
"invalid second argument");
 
 2631  WerrorS(
"load(\"libname\" [,option]);");
 
 2657  ideal u_id=(ideal)u->
Data();
 
 2658  ideal v_id=(ideal)
v->Data();
 
 2661     if ((*w_u).compare((w_v))!=0)
 
 2663       WarnS(
"incompatible weights");
 
 2664       delete w_u; w_u=
NULL;
 
 2672         WarnS(
"wrong weights");
 
 2673         delete w_u; w_u=
NULL;
 
 2678  res->data = (
char *)
idModulo(u_id,v_id ,hom,&w_u);
 
 2689  number q=(number)
v->Data();
 
 2700  number q=(number)
v->Data();
 
 2711  poly q=(poly)
v->Data();
 
 2717  poly 
p=(poly)(u->
Data());
 
 2735  char *opt=(
char *)
v->Data();
 
 2747  if(strcmp(
l->m->type,
"ASCII")!=0)
 
 2749    Werror(
"ASCII link required, not `%s`",
l->m->type);
 
 2754  if ( 
l->name[0]!=
'\0') 
 
 2758    if (
v==
NULL) opt=(
const char*)
"i";
 
 2759    else         opt=(
const char *)
v->Data();
 
 2801  const char *
s=(
const char *)u->
Data();
 
 2802  newstruct_desc d=
NULL;
 
 2808  else WerrorS(
"name of newstruct must be longer than 1 character");
 
 2814  int i=(
int)(long)
v->Data();
 
 2822    Werror(
"par number %d out of range 1..%d",
i,
p);
 
 2832    WerrorS(
"basering must NOT be a qring!");
 
 2852    WerrorS(
"basering must NOT be a qring!");
 
 2872    WerrorS(
"basering must NOT be a qring!");
 
 2892    WerrorS(
"basering must NOT be a qring!");
 
 2914    const poly q = (poly)
b->Data();
 
 2927          const poly 
p = (poly)a->
Data();
 
 2941    const poly q = (poly)
b->Data();
 
 2946        const poly 
p = (poly)a->
Data();
 
 2947        int k=(int)(
long)c->
Data();
 
 2951          for (
int i = 0; 
i < 
k; 
i++)
 
 2963            if (qq == 
NULL) 
break;
 
 2969          Werror(
"invalid number of iterations");
 
 2979  ring  r = (ring)a->
Data();
 
 2982    res->data = 
b->Data();
 
 2983    res->rtyp = 
b->rtyp;
 
 2988    Werror(
"%s is not an opposite ring to current ring",a->
Fullname());
 
 3001        res->rtyp = argtype;
 
 3009        res->rtyp = argtype;
 
 3017        res->rtyp = argtype;
 
 3030        res->rtyp = argtype;
 
 3035        WerrorS(
"unsupported type in oppose");
 
 3058  int i=(int)(
long)u->
Data();
 
 3059  int j=(int)(
long)
v->Data();
 
 3060  if (
j-
i <0) {
WerrorS(
"invalid range for random"); 
return TRUE;}
 
 3067  int isRowEchelon = (int)(
long)
v->Data();
 
 3068  if (isRowEchelon != 1) isRowEchelon = 0;
 
 3069  int rank = 
luRank(
m, isRowEchelon);
 
 3070  res->data =(
char *)(
long)rank;
 
 3082    Werror(
"cannot read from `%s`",
s);
 
 3091  ideal vi=(ideal)
v->Data();
 
 3099  ideal ui=(ideal)u->
Data();
 
 3100  ideal vi=(ideal)
v->Data();
 
 3108  int maxl=(int)(
long)
v->Data();
 
 3111    WerrorS(
"length for res must not be negative");
 
 3117  ideal u_id=(ideal)u->
Data();
 
 3126      "full resolution in a qring may be infinite, setting max length to %d",
 
 3140  int add_row_shift=0;
 
 3144     add_row_shift = ww->
min_in();
 
 3145     (*ww) -= add_row_shift;
 
 3163       (
"`lres` not implemented for inhomogeneous input or qring");
 
 3167      WarnS(
"the current implementation of `lres` may not work in the case of a single variable");
 
 3177       (
"`kres` not implemented for inhomogeneous input or qring");
 
 3189       (
"`hres` not implemented for inhomogeneous input or qring");
 
 3192    ideal u_id_copy=
idCopy(u_id);
 
 3194    r=
syHilb(u_id_copy,&dummy);
 
 3207  res->data=(
void *)r;
 
 3208  if ((weights!=
NULL) && (ww!=
NULL)) { 
delete ww; ww=
NULL; }
 
 3212    if (weights!=
NULL) (*ww) += add_row_shift;
 
 3242    n1 = (number)u->
CopyD();
 
 3246    i = (int)(
long)u->
Data();
 
 3254  i = (int)(
long)
v->Data();
 
 3258  res->data = (
char*)
l;
 
 3264  res->data = (
char *)r;
 
 3277  res->data = (
char *)r;
 
 3283  int i=
rSum((ring)u->
Data(),(ring)
v->Data(),r);
 
 3284  res->data = (
char *)r;
 
 3287#define SIMPL_NORMALIZE 64 
 3288#define SIMPL_LMDIV 32 
 3289#define SIMPL_LMEQ  16 
 3296  int sw = (int)(
long)
v->Data();
 
 3327  res->data = (
char * )
id;
 
 3334  int sw=(int)(
long)dummy->
Data();
 
 3349      l->m[0].data=(
void *)
f;
 
 3351      l->m[1].data=(
void *)
v;
 
 3352      res->data=(
void *)
l;
 
 3357      res->data=(
void *)
f;
 
 3370        res->data=(
void *)
p;
 
 3391  int sw = (int)(
long)
v->Data();
 
 3402  res->data = (
char * )
p;
 
 3410  ideal u_id=(ideal)(u->
Data());
 
 3435  ideal i1=(ideal)(u->
Data());
 
 3441    poly 
p=(poly)
v->Data();
 
 3445    memset(i0->m,0,
sizeof(poly)*
IDELEMS(i0));
 
 3478    i0=(ideal)
v->CopyD();
 
 3480    memset(i0->m,0,
sizeof(poly)*
IDELEMS(i0));
 
 3521  ideal I=(ideal)u->
Data();
 
 3528      int add_row_shift=
w->min_in();
 
 3529      (*w)-=add_row_shift;
 
 3547  res->data = (
char *)S;
 
 3554      for(
int i=0;
i<vl;
i++)
 
 3563      for(
int i=0;
i<vl;
i++)
 
 3580  ideal 
A=(ideal)u->
Data();
 
 3581  ideal 
B=(ideal)
v->Data();
 
 3587  sleftv tmp_u,tmp_v,tmp_res;
 
 3607  int i=(
int)(long)
v->Data();
 
 3628  int t = (int)(
long)
v->Data();
 
 3638  res->data = (
void*)(
long)
i;
 
 3653  int timeout = 1000*(int)(
long)
v->Data();
 
 3661  for(
unsigned nfinished = 0; nfinished < ((unsigned)Lforks->
nr)+1; nfinished++)
 
 3686  res->data = (
void*)(
long)ret;
 
 3748  res->data = (
char *)n;
 
 3753  res->data = (
char *)(-(
long)u->
Data());
 
 3760  res->data = (
char *)n;
 
 3778  res->data = (
char *)iv;
 
 3785  res->data = (
char *)bim;
 
 3794    ring r=(ring)u->
Data();
 
 3798      char name_buffer[100];
 
 3801      sprintf(name_buffer, 
"PYTHON_RING_VAR%d",ending);
 
 3824  l->m[0].data=(
void *)
m;
 
 3825  l->m[1].data=(
void *)iv;
 
 3826  res->data = (
char *)
l;
 
 3846  number n=(number)u->
CopyD();
 
 3870    number n=(number) tmp.
data;
 
 3885  res->data = (
char *)(
long)
rChar((ring)
v->Data());
 
 3890  ring r=(ring)
v->Data();
 
 3892  res->data = (
char *)r->cf;
 
 3902  res->data = (
char *)(
long)((
bigintmat*)(
v->Data()))->cols();
 
 3907  res->data = (
char *)(
long)((
intvec*)(
v->Data()))->cols();
 
 3915  res->data = (
char *)
p;
 
 3926  res->data = (
char *)(
long)(aa->
rows()*aa->
cols());
 
 3931  res->data = (
char *)(
long)
nSize((number)
v->Data());
 
 3948  res->data = (
char *)(
long)((
intvec*)(
v->Data()))->length();
 
 3953  ring r=(ring)
v->Data();
 
 3959    extern int ipower ( 
int b, 
int n ); 
 
 3960    elems=
ipower(r->cf->ch,r->cf->extRing->pFDeg(r->cf->extRing->qideal->m[0],r->cf->extRing));
 
 3962  res->data = (
char *)(
long)elems;
 
 3968  poly 
p=(poly)
v->Data();
 
 3970  else res->data=(
char *)-1;
 
 3975  ideal I=(ideal)u->
Data();
 
 3981  res->data = (
char *)(
long)d;
 
 3990    PrintS(
"// NOTE: computation of degree is being performed for\n");
 
 3991    PrintS(
"//       generic fibre, that is, over Q\n");
 
 4010  else if (
v->rtyp!=0) 
res->data=(
void *)(-1);
 
 4017  number n = 
reinterpret_cast<number
>(
v->CopyD());
 
 4026  number n = 
reinterpret_cast<number
>(
v->CopyD());
 
 4042  i=
m->rows();
j=
m->cols();
 
 4047    Werror(
"det of %d x %d bigintmat",
i,
j);
 
 4056  number2 r=(number2)
omAlloc0(
sizeof(*r));
 
 4058  i=
m->rows();
j=
m->cols();
 
 4062    r->cf=
m->basecoeffs();
 
 4067    Werror(
"det of %d x %d cmatrix",
i,
j);
 
 4078  i=
m->rows();
j=
m->cols();
 
 4083    Werror(
"det of %d x %d intmat",
i,
j);
 
 4090  ideal I=(ideal)
v->Data();
 
 4103      WerrorS(
"`dim` is not implemented for letterplace rings over rings");
 
 4109      WerrorS(
"qring not supported by `dim` for letterplace rings at the moment");
 
 4112    int gkDim = 
lp_gkDim((ideal)(
v->Data()));
 
 4113    res->data = (
char *)(
long)gkDim;
 
 4114    return (gkDim == -2);
 
 4119     Warn(
"dim(%s) may be wrong because the mixed monomial ordering",
v->Name());
 
 4132    Werror(
"cannot dump to `%s`",
s);
 
 4141  int co=(int)(
long)
v->Data();
 
 4147  else WerrorS(
"argument of gen must be positive");
 
 4152  char * d = (
char *)
v->Data();
 
 4153  char * 
s = (
char *)
omAlloc(strlen(d) + 13);
 
 4154  strcpy( 
s, (
char *)d);
 
 4155  strcat( 
s, 
"\n;RETURN();\n");
 
 4192    WarnS(
"no factorization implemented");
 
 4196  res->data=(
void *)L;
 
 4209  l->m[0].data=(
void *)
f;
 
 4211  l->m[1].data=(
void *)
v;
 
 4212  res->data=(
void *)
l;
 
 4223    Werror(
"cannot get dump from `%s`",
s);
 
 4232  ideal I=(ideal)
v->Data();
 
 4241  ideal I=(ideal)
v->Data();
 
 4255      WerrorS(
"module must be zero-dimensional");
 
 4256      if (delete_w) 
delete w;
 
 4279  if (delete_w) 
delete w;
 
 4280  res->data=(
void *)po;
 
 4288    PrintS(
"// NOTE: computation of Hilbert series etc. is being\n");
 
 4289    PrintS(
"//       performed for generic fibre, that is, over Q\n");
 
 4303    PrintS(
"// NOTE: computation of Hilbert series etc. is being\n");
 
 4304    PrintS(
"//       performed for generic fibre, that is, over Q\n");
 
 4313  ideal v_id=(ideal)
v->Data();
 
 4321        char *s_isHomog=
omStrDup(
"isHomog");
 
 4327      else if (
w!=
NULL) 
delete w;
 
 4348    int deg = (int)(
long)
v->Data();
 
 4351      WerrorS(
"degree bound of Letterplace ring is to small");
 
 4366  res->data=(
char *)mat;
 
 4376  res->data=(
char *)I;
 
 4383    ring q=(ring)
v->Data();
 
 4386      if (q->qideal==
NULL)
 
 4393  WerrorS(
"can only get ideal from identical qring");
 
 4423  res->data = (
char *)(
long)
pVar((poly)
v->Data());
 
 4434  res->data = (
char *)0;
 
 4441  poly 
p=(poly)(
v->Data());
 
 4446  res->data = (
char *)
i;
 
 4453    WerrorS(
"differentiation not defined in the coefficient ring");
 
 4456  number n = (number) u->
Data();
 
 4457  number 
k = (number) 
v->Data();
 
 4470  ideal 
id = (ideal)a->
Data();
 
 4480    for( 
int i = 0; 
i < W; 
i++, 
p++, q++ )
 
 4523  poly 
p=(poly)
v->Data();
 
 4537  poly 
p=(poly)
v->Data();
 
 4550  res->data=(
char *)iv;
 
 4555  poly 
p=(poly)
v->Data();
 
 4564    res->data = (
char*) lm;
 
 4576  int isLetterplace=(int)(
long)
atGet(
v,
"isLetterplaceRing",
INT_CMD);
 
 4578  res->data=(
char *)r;
 
 4593  memset(&a2,0,
sizeof(a2));
 
 4594  memset(&a3,0,
sizeof(a3));
 
 4611    WerrorS(
"matrix must be constant");
 
 4625  res->data=(
char*)ll;
 
 4635  switch(((
int)(
long)
v->Data()))
 
 4650    res->data = (
char *)0;
 
 4667  l->m[0].data=(
char *)r;
 
 4670  l->m[1].data=(
char *)
m;
 
 4671  res->data=(
char *)
l;
 
 4687  res->data=(
char *)tmp;
 
 4696  number n,
i; 
i=(number)
v->Data();
 
 4701  res->data=(
void *)n;
 
 4731  res->data=(
char*)(
long)((long)
v->Data()==0 ? 1 : 0);
 
 4736  res->data = (
char *)(
long)(((ring)(
v->Data()))->N);
 
 4747  poly 
p=(poly)
v->Data();
 
 4753  int i=(int)(
long)
v->Data();
 
 4756  if ((0<
i) && (
i<=
p))
 
 4762    Werror(
"par number %d out of range 1..%d",
i,
p);
 
 4769  number nn=(number)
v->Data();
 
 4777    WerrorS(
"no ring active (1)");
 
 4780  int i=(int)(
long)
v->Data();
 
 4786    Werror(
"par number %d out of range 1..%d",
i,
p);
 
 4793  poly 
p=(poly)
v->Data();
 
 4797    WerrorS(
"poly must be constant");
 
 4806  res->data=(
void *)n;
 
 4813  poly 
p=(poly)
v->Data();
 
 4817    WerrorS(
"poly must be constant");
 
 4831  int i = 
IsPrime((
int)(
long)(
v->Data()));
 
 4832  res->data = (
char *)(
long)(
i > 1 ? 
i : 2);
 
 4838  ideal v_id=(ideal)
v->Data();
 
 4843      WarnS(
"wrong weights");
 
 4863  if (((
p=(poly)
v->Data())!=
NULL)
 
 4872  res->data = (
char *)n;
 
 4877  char *
s= (
char *)
v->Data();
 
 4884      res->data = (
char *)1;
 
 4893    res->data = (
char *)1;
 
 4901  res->data =(
char *)(
long)rank;
 
 4920  ring r=(ring)
v->Data();
 
 4926      long mm=r->wanted_maxExp;
 
 4942  ring r=(ring)
v->Data();
 
 4949  ideal 
i = (ideal)
v->Data();
 
 4950  res->data = (
char *)
i->rank;
 
 4955  res->data = (
char *)(
long)((
bigintmat*)(
v->Data()))->rows();
 
 4960  res->data = (
char *)(
long)((
intvec*)(
v->Data()))->rows();
 
 4965  res->data = (
char *)(
long)
rPar(((ring)
v->Data()));
 
 4970  res->data = (
char *)(
long)atoi((
char*)
v->Data());
 
 4979    WerrorS(
"qring not supported by slimgb at the moment");
 
 4984    WerrorS(
"ordering must be global for slimgb");
 
 4988    WarnS(
"groebner base computations with inexact coefficients can not be trusted due to rounding errors");
 
 4991  ideal u_id=(ideal)u->
Data();
 
 4996      WarnS(
"wrong weights");
 
 5018  ideal v_id=(ideal)
v->Data();
 
 5025      WarnS(
"wrong weights");
 
 5044  ideal v_id=(ideal)
v->Data();
 
 5051      WarnS(
"wrong weights");
 
 5070  ideal v_id=(ideal)
v->Data();
 
 5077      WarnS(
"wrong weights");
 
 5096    WarnS(
"groebner base computations with inexact coefficients can not be trusted due to rounding errors");
 
 5098  ideal v_id=(ideal)
v->Data();
 
 5105      WarnS(
"wrong weights");
 
 5123  res->data = (
char *)
idSort((ideal)
v->Data());
 
 5136  l->m[0].data=(
void *)
f;
 
 5138  l->m[1].data=(
void *)
v;
 
 5139  res->data=(
void *)
l;
 
 5155  ideal v_id=(ideal)
v->Data();
 
 5161      Werror(
"At least %d ncgen variables are needed for this computation.", 
IDELEMS(v_id));
 
 5174      int add_row_shift=
w->min_in();
 
 5175      (*w)-=add_row_shift;
 
 5192  res->data = (
char *)S;
 
 5199      for(
int i=0;
i<vl;
i++)
 
 5201        if (v_id->m[
i]!=
NULL)
 
 5208      for(
int i=0;
i<vl;
i++)
 
 5210        if (v_id->m[
i]!=
NULL)
 
 5231  res->data = (
char *)(((
bigintmat*)(
v->Data()))->transpose());
 
 5242  ring    r = (ring)a->
Data();
 
 5250    WarnS(
"opposite only for global orderings");
 
 5261  ring    r = (ring)a->
Data();
 
 5277  ideal v_id=(ideal)a->
Data();
 
 5294#if defined(HAVE_SHIFTBBA) || defined(HAVE_PLURAL) 
 5298      WarnS(
"groebner base computations with inexact coefficients can not be trusted due to rounding errors");
 
 5300    ideal v_id=(ideal)
v->Data();
 
 5326    ideal I=(ideal)
v->Data();
 
 5341    res->data = (
char *)J;
 
 5355  int t=(int)(
long)
v->data;
 
 5405  int i=(int)(
long)
v->Data();
 
 5411    res->data=(
char *)
p;
 
 5424    WerrorS(
"no ring active (2)");
 
 5427  int i=(int)(
long)
v->Data();
 
 5446      WerrorS(
"`vdim` is not implemented for letterplace rings over rings");
 
 5452      WerrorS(
"qring not supported by `vdim` for letterplace rings at the moment");
 
 5455    int kDim = 
lp_kDim((ideal)(
v->Data()));
 
 5456    res->data = (
char *)(
long)kDim;
 
 5457    return (kDim == -2);
 
 5462    WerrorS(
"int overflow in vdim");
 
 5463  res->data = (
char *)
l;
 
 5478  res->data = (
void*)(
long)
i;
 
 5491  for(
int nfinished = 0; nfinished < Lforks->
nr+1; nfinished++)
 
 5507  res->data = (
void*)(
long)
j;
 
 5517#ifdef HAVE_DYNAMIC_LOADING 
 5524        Werror(
"%s: unknown type", 
s);
 
 5542          Werror(
"can not create package `%s`",plib);
 
 5548          package pa=IDPACKAGE(pl);
 
 5552            Werror(
"can not create package `%s` - binaries  exists",plib);
 
 5558        package savepack=currPack;
 
 5574#ifdef HAVE_DYNAMIC_LOADING 
 5577        WerrorS(
"Dynamic modules are not supported by this version of Singular");
 
 5597      Print(
"loading of >%s< failed\n",
s);
 
 5606  res->data = (
char *)strlen((
char *)
v->Data());
 
 5611  res->data = (
char *)(
long)
pLength((poly)
v->Data());
 
 5616  res->data = (
char *)(
long)
idElem((ideal)
v->Data());
 
 5636  res->data = (
char *)
pHead((poly)
v->Data());
 
 5704  number n=(number)u->
CopyD(); 
 
 5711  number n=(number)u->
Data();
 
 5720  char *
s= (
char *)u->
Data();
 
 5721  int   r = (int)(
long)
v->Data();
 
 5722  int   c = (int)(
long)
w->Data();
 
 5725  if ( (r<1) || (r>
l) || (c<0) )
 
 5731  sprintf((
char *)
res->data,
"%-*.*s",c,c,
s+r-1);
 
 5737  int   r = (int)(
long)
v->Data();
 
 5738  int   c = (int)(
long)
w->Data();
 
 5739  if ((r<1)||(r>iv->
rows())||(c<1)||(c>iv->
cols()))
 
 5741    Werror(
"wrong range[%d,%d] in intmat %s(%d x %d)",
 
 5754    while (
h->next!=
NULL) 
h=
h->next;
 
 5764  int   r = (int)(
long)
v->Data();
 
 5765  int   c = (int)(
long)
w->Data();
 
 5766  if ((r<1)||(r>bim->
rows())||(c<1)||(c>bim->
cols()))
 
 5768    Werror(
"wrong range[%d,%d] in bigintmat %s(%d x %d)",
 
 5782    while (
h->next!=
NULL) 
h=
h->next;
 
 5792  int   r = (int)(
long)
v->Data();
 
 5793  int   c = (int)(
long)
w->Data();
 
 5797    Werror(
"wrong range[%d,%d] in matrix %s(%d x %d)",r,c,u->
Fullname(),
 
 5811    while (
h->next!=
NULL) 
h=
h->next;
 
 5820  ideal 
m= (ideal)u->
Data();
 
 5821  int   r = (int)(
long)
v->Data();
 
 5822  int   c = (int)(
long)
w->Data();
 
 5824  if ((r<1)||(r>
m->rank)||(c<1)||(c>
IDELEMS(
m)))
 
 5826    Werror(
"wrong range[%d,%d] in matrix %s(%d x %d)",r,c,u->
Fullname(),
 
 5840    while (
h->next!=
NULL) 
h=
h->next;
 
 5851    WerrorS(
"cannot build expression lists from unnamed objects");
 
 5860  memcpy(&ut,u,
sizeof(ut));
 
 5866    t.
data=(
char *)(
long)((*iv)[
l]);
 
 5876    memcpy(u,&ut,
sizeof(ut));
 
 5901    WerrorS(
"cannot build expression lists from unnamed objects");
 
 5909  memcpy(&ut,u,
sizeof(ut));
 
 5915    t.
data=(
char *)(
long)((*iv)[
l]);
 
 5925    memcpy(u,&ut,
sizeof(ut));
 
 5950    WerrorS(
"cannot build expression lists from unnamed objects");
 
 5961  memcpy(&ut,u,
sizeof(ut));
 
 5966  for (vl=0;vl< vv->
length(); vl++)
 
 5968    t1.
data=(
char *)(
long)((*vv)[vl]);
 
 5969    for (wl=0;wl< wv->
length(); wl++)
 
 5971      t2.
data=(
char *)(
long)((*wv)[wl]);
 
 5981      memcpy(u,&ut,
sizeof(ut));
 
 6021  int k=(int)(
long)
w->Data();
 
 6028    l->m[0].data=(
void *)
m;
 
 6029    l->m[1].data=(
void *)iv;
 
 6036    l->m[0].data=(
void *)
m;
 
 6038  res->data = (
char *)
l;
 
 6045    WerrorS(
"3rd argument must be a name of a matrix");
 
 6048  ideal 
i=(ideal)u->
Data();
 
 6049  int rank=(int)
i->rank;
 
 6058           (ideal)(
v->Data()),(poly)(
w->Data()));
 
 6065    WerrorS(
"3rd argument must be a name of a matrix");
 
 6090  ideal I=(ideal)u->
Data();
 
 6111  int n=(int)(
long)
w->Data();
 
 6112  char *where=(
char *)u->
Data();
 
 6113  char *what=(
char *)
v->Data();
 
 6115  if ((1>n)||(n>(int)strlen(where)))
 
 6117    Werror(
"start position %d out of range",n);
 
 6120  found = strchr(where+n-1,*what);
 
 6121  if (*(what+1)!=
'\0')
 
 6123    while((
found !=
NULL) && (strncmp(
found+1,what+1,strlen(what+1))!=0))
 
 6130    res->data=(
char *)((
found-where)+1);
 
 6136  if ((
int)(
long)
w->Data()==0)
 
 6148    Werror(
"weight vector must have size %d, not %d",
 
 6155    PrintS(
"// NOTE: computation of Hilbert series etc. is being\n");
 
 6156    PrintS(
"//       performed for generic fibre, that is, over Q\n");
 
 6164  switch((
int)(
long)
v->Data())
 
 6167      res->data=(
void *)iv;
 
 6181  int i=
pVar((poly)
v->Data());
 
 6193    WerrorS(
"variable must have weight 1");
 
 6199  int i=
pVar((poly)
v->Data());
 
 6211    WerrorS(
"variable must have weight 1");
 
 6218  ideal v_id=(ideal)v1->
Data();
 
 6224  intvec* im= 
new intvec((
int)(
long)
v->Data(),(
int)(
long)
w->Data(), 0);
 
 6230    (*im)[
i] = (*arg)[
i];
 
 6233  res->data = (
char *)im;
 
 6238  ideal I1=(ideal)u->
Data();
 
 6239  ideal I2=(ideal)
v->Data();
 
 6240  ideal I3=(ideal)
w->Data();
 
 6251  ideal I=(ideal)u->
Data();
 
 6253  res->data=(
char *)
idSect(I,(ideal)
v->Data(),alg);
 
 6260  res->data = (
char *)
ppJetW((poly)u->
Data(),(int)(
long)
v->Data(),iw);
 
 6268    WerrorS(
"2nd argument must be a unit");
 
 6284    WerrorS(
"2nd argument must be a diagonal matrix of units");
 
 6331      Werror(
"`%s` is undefined",
v->Fullname());
 
 6347  const int mk = (
const int)(
long)u->
Data();
 
 6348  bool noIdeal = 
true; 
bool noK = 
true; 
bool noAlgorithm = 
true;
 
 6349  bool noCacheMinors = 
true; 
bool noCacheMonomials = 
true;
 
 6350  ideal IasSB; 
int k; 
char* algorithm; 
int cacheMinors; 
int cacheMonomials;
 
 6365        noAlgorithm = 
false;
 
 6370          noCacheMinors = 
false;
 
 6376            noCacheMonomials = 
false;
 
 6389      noAlgorithm = 
false;
 
 6394        noCacheMinors = 
false;
 
 6399          noCacheMonomials = 
false;
 
 6406    algorithm = (
char*)u->
next->
Data();
 
 6407    noAlgorithm = 
false;
 
 6411      noCacheMinors = 
false;
 
 6416        noCacheMonomials = 
false;
 
 6424    if (strcmp(algorithm, 
"bareiss") == 0)
 
 6425      algorithm = (
char*)
"Bareiss";
 
 6426    if (strcmp(algorithm, 
"laplace") == 0)
 
 6427      algorithm = (
char*)
"Laplace";
 
 6428    if (strcmp(algorithm, 
"cache") == 0)
 
 6429      algorithm = (
char*)
"Cache";
 
 6438  if ((!noK) && (
k == 0))
 
 6440    WerrorS(
"Provided number of minors to be computed is zero.");
 
 6443  if ((!noAlgorithm) && (strcmp(algorithm, 
"Bareiss") != 0)
 
 6444      && (strcmp(algorithm, 
"Laplace") != 0)
 
 6445      && (strcmp(algorithm, 
"Cache") != 0))
 
 6447    WerrorS(
"Expected as algorithm one of 'B/bareiss', 'L/laplace', or 'C/cache'.");
 
 6450  if ((!noAlgorithm) && (strcmp(algorithm, 
"Bareiss") == 0)
 
 6453    Werror(
"Bareiss algorithm not defined over coefficient rings %s",
 
 6454           "with zero divisors.");
 
 6457  if ((mk < 1) || (mk > 
m->rows()) || (mk > 
m->cols()))
 
 6466  if ((!noAlgorithm) && (strcmp(algorithm, 
"Cache") == 0)
 
 6467      && (noCacheMinors || noCacheMonomials))
 
 6470    cacheMonomials = 100000;
 
 6476                                       (noIdeal ? 0 : IasSB), 
false);
 
 6477  else if (strcmp(algorithm, 
"Cache") == 0)
 
 6479                                   (noIdeal ? 0 : IasSB), 3, cacheMinors,
 
 6480                                   cacheMonomials, 
false);
 
 6483                              (noIdeal ? 0 : IasSB), 
false);
 
 6493                                            (
const char *)
w->Data());
 
 6507    WerrorS(
"2nd/3rd arguments must have names");
 
 6511  const char *ring_name=u->
Name();
 
 6518      if ((preim_ring==
NULL)
 
 6521        Werror(
"preimage ring `%s` is not the basering",mapping->preimage);
 
 6537    Werror(
"`%s` is not defined in `%s`",
v->
name,ring_name);
 
 6541  if (kernel_cmd) image=
idInit(1,1);
 
 6558      Werror(
"`%s` is not defined in `%s`",
w->name,ring_name);
 
 6565    WarnS(
"preimage in local qring may be wrong: use Ring::preimageLoc instead");
 
 6574  int i=(int)(
long)u->
Data();
 
 6575  int r=(int)(
long)
v->Data();
 
 6576  int c=(int)(
long)
w->Data();
 
 6577  if ((r<=0) || (c<=0)) 
return TRUE;
 
 6593  res->data = (
char *)iv;
 
 6603    Werror(
"no random function defined for coeff %d",
cf->type);
 
 6609    number2 nn=(number2)
omAlloc(
sizeof(*nn));
 
 6619  int &ringvar, poly &monomexpr)
 
 6621  monomexpr=(poly)
w->Data();
 
 6622  poly 
p=(poly)
v->Data();
 
 6626    Werror(
"`%s` substitutes a ringvar only by a term",
 
 6631  if ((ringvar=
pVar(
p))==0)
 
 6640      WerrorS(
"ringvar/par expected");
 
 6664  if (nok) 
return TRUE;
 
 6665  poly 
p=(poly)u->
Data();
 
 6670    (monomexpr!=
NULL) && (
p!=
NULL) && (mm!=0) &&
 
 6673      Warn(
"possible OVERFLOW in subst, max exponent is %ld, substituting deg %d by deg %d",
currRing->bitmask/2, 
pTotaldegree(monomexpr), mm);
 
 6685      WerrorS(
"Substituting parameters not implemented for Letterplace rings.");
 
 6697  if (nok) 
return TRUE;
 
 6698  ideal 
id=(ideal)u->
Data();
 
 6709        if ((
p!=
NULL) && (mm!=0) &&
 
 6710        ((
unsigned long)deg_monexp > (
currRing->bitmask / (
unsigned long)mm/2)))
 
 6718      Warn(
"possible OVERFLOW in subst, max exponent is %ld",
currRing->bitmask/2);
 
 6732      WerrorS(
"Substituting parameters not implemented for Letterplace rings.");
 
 6762  int mi=(int)(
long)
v->Data();
 
 6763  int ni=(int)(
long)
w->Data();
 
 6766    Werror(
"converting ideal to matrix: dimensions must be positive(%dx%d)",mi,ni);
 
 6777  memcpy(
m->m,I->m,
i*
sizeof(poly));
 
 6778  memset(I->m,0,
i*
sizeof(poly));
 
 6780  res->data = (
char *)
m;
 
 6785  int mi=(int)(
long)
v->Data();
 
 6786  int ni=(int)(
long)
w->Data();
 
 6789    Werror(
"converting module to matrix: dimensions must be positive(%dx%d)",mi,ni);
 
 6798  int mi=(int)(
long)
v->Data();
 
 6799  int ni=(int)(
long)
w->Data();
 
 6802     Werror(
"converting matrix to matrix: dimensions must be positive(%dx%d)",mi,ni);
 
 6819  res->data = (
char *)
m;
 
 6842  ideal u_id=(ideal)u->
Data();
 
 6843  ideal v_id=(ideal)
v->Data();
 
 6846     if ((*w_u).compare((w_v))!=0)
 
 6848       WarnS(
"incompatible weights");
 
 6849       delete w_u; w_u=
NULL;
 
 6857         WarnS(
"wrong weights");
 
 6858         delete w_u; w_u=
NULL;
 
 6864  res->data = (
char *)
idModulo(u_id,v_id ,hom,&w_u, &(
h->data.umatrix));
 
 6893  ideal u_id=(ideal)u->
Data();
 
 6895  ideal v_id=(ideal)
v->Data();
 
 6898     if ((*w_u).compare((w_v))!=0)
 
 6900       WarnS(
"incompatible weights");
 
 6901       delete w_u; w_u=
NULL;
 
 6909         WarnS(
"wrong weights");
 
 6910         delete w_u; w_u=
NULL;
 
 6926  int mi=(int)(
long)
v->Data();
 
 6927  int ni=(int)(
long)
w->Data();
 
 6930    Werror(
"converting to smatrix: dimensions must be positive(%dx%d)",mi,ni);
 
 6947      Werror(
"At least %d ncgen variables are needed for this computation.", ul);
 
 6970      Werror(
"At least %d ncgen variables are needed for this computation.", 
IDELEMS((ideal)u->
Data()));
 
 6978                                &(hw->data.uideal));
 
 6992      Werror(
"At least %d ncgen variables are needed for this computation.", 
IDELEMS((ideal)u->
Data()));
 
 7009    Werror(
"`%s` must be 0-dimensional",
v->Name());
 
 7021    Werror(
"`%s` must be 0-dimensional",
v->Name());
 
 7032    0,(int)(
long)
w->Data());
 
 7039    0,(int)(
long)
w->Data());
 
 7045  int maxl=(int)
v->Data();
 
 7046  ideal u_id=(ideal)u->
Data();
 
 7064        WarnS(
"wrong weights");
 
 7093  yes = (strcmp((
char *) 
res->data, (
char *) 
w->Data()) == 0);
 
 7095  res->data = (
void *)(
long)yes;
 
 7109  ideal u_id=(ideal)(u->
Data());
 
 7114      WarnS(
"wrong weights");
 
 7155      lineno=(int)(
long)
v->
next->Data();
 
 7219    WarnS(
"<module>,<module>,<int>[,<intvec>] expected!");
 
 7226  ideal P=(ideal)w1.
Data();
 
 7227  ideal 
Q=(ideal)w2.
Data();
 
 7229  int n=(int)(
long)v3->
Data();
 
 7236    while( (
i > 0) && ((*w0) > 0) )
 
 7242      WarnS(
"not all weights are positive!");
 
 7261    L->
m[1].
data=(
void *)
R->m[0];
 
 7345  res->data=(
char *)
id;
 
 7350  ring r=(ring)u->
Data();
 
 7358    WerrorS(
"fetch(<ring>,<name>[,<intvec>[,<intvec>])");
 
 7363  if (perm_par_l!=
NULL)
 
 7372    int par_perm_size=0;
 
 7381        par_perm_size=
rPar(r);
 
 7389      par_perm_size=
rPar(r);
 
 7391    if (par_perm_size!=0)
 
 7392      par_perm=(
int *)
omAlloc0(par_perm_size*
sizeof(
int));
 
 7394    if (perm_par_l==
NULL)
 
 7396      if (par_perm_size!=0)
 
 7401      if (par_perm_size==0) 
WarnS(
"source ring has no parameters");
 
 7406          if (i<perm_par_v->
length()) par_perm[
i]=(*perm_par_v)[
i];
 
 7410            Warn(
"invalid entry for par %d: %d\n",
i,par_perm[
i]);
 
 7418      if (i<perm_var_v->
length()) perm[
i+1]=(*perm_var_v)[
i];
 
 7422        Warn(
"invalid entry for var %d: %d\n",
i,perm[
i]);
 
 7431          Print(
"// var nr %d: %s -> var %s\n",
i,r->names[
i-1],
currRing->names[perm[
i]-1]);
 
 7437        if (par_perm[
i-1]<0)
 
 7438          Print(
"// par nr %d: %s -> par %s\n",
 
 7440        else if (par_perm[
i-1]>0)
 
 7441          Print(
"// par nr %d: %s -> var %s\n",
 
 7451                         perm,par_perm,par_perm_size,nMap)))
 
 7469  Werror(
"no identity map from %s (%s -> %s)",u->
Fullname(),s1,s2);
 
 7476  int l=
v->listLength();
 
 7507    WerrorS(
"cannot convert to ideal or module");
 
 7518      r[
i]=(ideal)
h->Data(); 
 
 7530      r[
i]=(ideal)tmp.
Data(); 
 
 7562  matrix iMat; 
int invertible;
 
 7568    int rr = aMat->
rows();
 
 7569    int cc = aMat->
cols();
 
 7572      Werror(
"given matrix (%d x %d) is not quadratic, hence not invertible", rr, cc);
 
 7577      WerrorS(
"matrix must be constant");
 
 7587     int rr = uMat->
rows();
 
 7588     int cc = uMat->
cols();
 
 7591       Werror(
"third matrix (%d x %d) is not quadratic, hence not invertible",
 
 7600        WerrorS(
"matricesx must be constant");
 
 7607    Werror(
"expected either one or three matrices");
 
 7625  res->data=(
char*)ll;
 
 7649    WerrorS(
"expected exactly three matrices and one vector as input");
 
 7659    Werror(
"first matrix (%d x %d) is not quadratic",
 
 7665    Werror(
"second matrix (%d x %d) is not quadratic",
 
 7671    Werror(
"second matrix (%d x %d) and third matrix (%d x %d) do not fit",
 
 7677    Werror(
"third matrix (%d x %d) and vector (%d x 1) do not fit",
 
 7686    WerrorS(
"matrices must be constant");
 
 7706  res->data=(
char*)ll;
 
 7720      (*iv)[
i]=(int)(
long)
h->Data();
 
 7739  res->data=(
char *)iv;
 
 7756      WerrorS(
"2nd argument must be a unit");
 
 7769      WerrorS(
"2nd argument must be a diagonal matrix of units");
 
 7774                              (
int)(long)u3->
Data(),
 
 7783    Werror(
"%s(`poly`,`poly`,`int`,`intvec`) exppected",
 
 7801    else if (
w->next==
NULL)
 
 7828  && ((strcmp(u->
Name(),
"real")==0) || (strcmp(u->
Name(),
"complex")==0)))
 
 7849      Werror(
"`%s` undefined or  `int` expected while building `%s(`",u->
name,u->
name);
 
 7854    sprintf(nn,
"%s(%d",u->
name,(
int)(
long)
v->Data());
 
 7858      while (*
s!=
'\0') 
s++;
 
 7862        Werror(
"`%s` undefined or  `int` expected while building `%s(`",u->
name,u->
name);
 
 7866      sprintf(
s,
",%d",(
int)(
long)
v->Data());
 
 7868    while (*
s!=
'\0') 
s++;
 
 7889    ideal I=(ideal)u->
Data();
 
 7902    Werror(
"%s(`ideal`,`ideal`,`matrix`,`string`)\n" 
 7903           "or (`module`,`module`,`matrix`,`string`) expected",
 
 7935      syz=&(hw->
data.uideal);
 
 7942      syz=&(hw->
data.uideal);
 
 7943      h11=(ideal)u4->
Data();
 
 7948      h11=(ideal)u4->
Data();
 
 7952      Werror(
"%s(`ideal/module`,`matrix`[,`module`][,`string`][,`ideal/module`]) expected",
Tok2Cmdname(
iiOp));
 
 7964      syz=&(hw->
data.uideal);
 
 7966      h11=(ideal)u5->
Data();
 
 7970      Werror(
"%s(`ideal/module`,`matrix`[,`module`][,`string`][,`ideal/module`]) expected",
Tok2Cmdname(
iiOp));
 
 7980      Werror(
"At least %d ncgen variables are needed for this computation.", 
IDELEMS((ideal)u->
Data()));
 
 8001  if (
v!=
NULL) sl = 
v->listLength();
 
 8005    int add_row_shift = 0;
 
 8007    if (weights!=
NULL)  add_row_shift=weights->
min_in();
 
 8034        Werror(
"`%s` is undefined",
h->Fullname());
 
 8046  res->data=(
char *)L;
 
 8061    u_id=(ideal)u->
Data();
 
 8062    v_id=(ideal)
v->Data();
 
 8089     if ((*w_u).compare((w_v))!=0)
 
 8091       WarnS(
"incompatible weights");
 
 8092       delete w_u; w_u=
NULL;
 
 8100         WarnS(
"wrong weights");
 
 8101         delete w_u; w_u=
NULL;
 
 8107  res->data = (
char *)
idModulo(u_id,v_id ,hom,&w_u, &(
h->data.umatrix),alg);
 
 8162      WerrorS(
"2nd argument must be a diagonal matrix of units");
 
 8169                           (int)(
long)u4->
Data()
 
 8179    else                     u1p=(poly)u1->
Data();
 
 8182    else                     u2p=(poly)u2->
Data();
 
 8186      WerrorS(
"2nd argument must be a unit");
 
 8215      WerrorS(
"2nd argument must be a diagonal matrix of units");
 
 8222                           (int)(
long)u4->
Data(),
 
 8234      WerrorS(
"2nd argument must be a unit");
 
 8245    Werror(
"%s(`ideal`,`ideal`,`matrix`,`int`,`intvec`) exppected",
 
 8257  for(
i=0; 
i<nCount; 
i++)
 
 8287  for (
i=0; 
i<nCount; 
i++)
 
 8299  for (
i = 0; 
i < bb_list->
count; 
i++)
 
 8309  for (
i=0; 
i<nCount; 
i++)
 
 8333  for (
i = 0; 
i < bb_list->
count; 
i++)
 
 8349  res->data=(
void *)L;
 
 8360  int n = 
v->listLength();
 
 8363    res->data = 
v->String();
 
 8367  char** slist = (
char**) 
omAlloc(n*
sizeof(
char*));
 
 8372    slist[
i] = 
v->String();
 
 8374    j+=strlen(slist[
i]);
 
 8376  char* 
s = (
char*) 
omAlloc((
j+1)*
sizeof(char));
 
 8380    strcat(
s, slist[
i]);
 
 8400#if defined(__alpha) && !defined(linux) 
 8403  void usleep(
unsigned long usec);
 
 8432  leftv u = 
v; 
int factorsGiven = 0;
 
 8435    WerrorS(
"expected arguments (poly, int [, poly, poly] [, int, int])");
 
 8438  else h = (poly)u->
Data();
 
 8442    WerrorS(
"expected arguments (poly, int [, poly, poly] [, int, int])");
 
 8445  else d = (int)(
long)u->
Data();
 
 8451      WerrorS(
"expected arguments (poly, int [, poly, poly] [, int, int])");
 
 8456      f0 = (poly)u->
Data();
 
 8466      WerrorS(
"expected arguments (poly, int [, poly, poly] [, int, int])");
 
 8471      xIndex = (int)(
long)u->
Data();
 
 8472      yIndex = (int)(
long)u->
next->
Data();
 
 8478    WerrorS(
"expected arguments (poly, int [, poly, poly] [, int, int])");
 
 8485    WerrorS(
"expected non-constant polynomial argument(s)");
 
 8489  if ((xIndex < 1) || (n < xIndex))
 
 8491    Werror(
"index for variable x (%d) out of range [1..%d]", xIndex, n);
 
 8494  if ((yIndex < 1) || (n < yIndex))
 
 8496    Werror(
"index for variable y (%d) out of range [1..%d]", yIndex, n);
 
 8499  if (xIndex == yIndex)
 
 8501    WerrorS(
"expected distinct indices for variables x and y");
 
 8506  if (factorsGiven == 0)
 
 8520      WerrorS(
"expected h(0,y) to have exactly two distinct monic factors");
 
 8535  res->data = (
char*)L;
 
 8546#if defined(HAVE_USLEEP) 
 8547  if (((
long) 
res->data) == 0L)
 
 8556#elif defined(HAVE_SLEEP) 
 8557  if (((
int) 
res->data) == 0)
 
 8562      si_sleep((is - 1)/1000000 + 1);
 
 8581  if ((rest!=
NULL) && (!
b))
 
 8588    memcpy(
res,&tmp_res,
sizeof(tmp_res));
 
 8603    WerrorS(
"expected (matrix, number, number, number) as arguments");
 
 8608                                    (number)(
v->Data()),
 
 8609                                    (number)(
w->Data()),
 
 8610                                    (number)(
x->Data()));
 
 8620  ideal i1=(ideal)(u->
Data());
 
 8626    WerrorS(
"expected `std(`ideal/module`,`poly/vector`,`intvec`,`intvec`)");
 
 8641    i0->m[0]=(poly)
v->Data();
 
 8646    i0=(ideal)
v->Data();
 
 8650    WerrorS(
"expected `std(`ideal/module`,`poly/vector`,`intvec`,`intvec`)");
 
 8657    memset(i0->m,0,
sizeof(poly)*
IDELEMS(i0));
 
 8667      WarnS(
"wrong weights");
 
 8701    WerrorS(
"expected `cring` [ `id` ... ]");
 
 8707  char **n=(
char**)
omAlloc0(
N*
sizeof(
char*));
 
 8708  for(
int i=0; 
i<
N;
i++,names=names->
next)
 
 8710    n[
i]=(
char *)names->
Name();
 
 8722  r->start =(int)(
long)e->
Data();
 
 8727  int c=(int)(
long)u->
Data();
 
 8731        PrintS(
"delete all variables\n");
 
 8736    default: 
WerrorS(
"not implemented");
 
 8741#define NULL_VAL NULL 
 8745#include "iparith.inc" 
 8763    while (dA2[
i].cmd==op)
 
 8765      if ((at==dA2[
i].arg1)
 
 8766      && (bt==dA2[
i].arg2))
 
 8777            WerrorS(
"no ring active (3)");
 
 8783        if ((call_failed=dA2[
i].
p(
res,a,
b)))
 
 8803      while (dA2[
i].cmd==op)
 
 8821                  WerrorS(
"no ring active (4)");
 
 8830              || (call_failed=dA2[
i].
p(
res,an,bn)));
 
 8869        Werror(
"`%s` is not defined",
s);
 
 8876          Werror(
"%s(`%s`,`%s`) failed" 
 8881          Werror(
"`%s` %s `%s` failed" 
 8886          while (dA2[
i].cmd==op)
 
 8888            if(((at==dA2[
i].arg1)||(bt==dA2[
i].arg2))
 
 8893                Werror(
"expected %s(`%s`,`%s`)" 
 8896                Werror(
"expected `%s` %s `%s`" 
 8935      memcpy(&d->arg1,a,
sizeof(
sleftv));
 
 8937      memcpy(&d->arg2,
b,
sizeof(
sleftv));
 
 8941      res->data=(
char *)d;
 
 8954        if(!bb->blackbox_Op2(op,
res,a,
b)) 
return FALSE;
 
 8960    else if ((bt>
MAX_TOK)&&(op!=
'('))
 
 8965        if(!bb->blackbox_Op2(op,
res,a,
b)) 
return FALSE;
 
 8993    while (dA1[
i].cmd==op)
 
 9005            WerrorS(
"no ring active (5)");
 
 9012        if ((call_failed=dA1[
i].
p(
res,a)))
 
 9032      while (dA1[
i].cmd==op)
 
 9048                WerrorS(
"no ring active (6)");
 
 9056            || (call_failed=dA1[
i].
p(
res,an)));
 
 9097          while (dA1[
i].cmd==op)
 
 9101              Werror(
"expected %s(`%s`)" 
 9123      memcpy(&d->arg1,a,
sizeof(
sleftv));
 
 9127      res->data=(
char *)d;
 
 9140        res->data=bb->blackbox_Init(bb);
 
 9141        return bb->blackbox_Assign(
res,a);
 
 9151        if(!bb->blackbox_Op1(op,
res,a)) 
return FALSE;
 
 9171  const struct sValCmd3* dA3, 
int at, 
int bt, 
int ct,
 
 9182    while (dA3[
i].cmd==op)
 
 9184      if ((at==dA3[
i].arg1)
 
 9185      && (bt==dA3[
i].arg2)
 
 9186      && (ct==dA3[
i].arg3))
 
 9194          Print(
"call %s(%s,%s,%s)\n",
 
 9196        if ((call_failed=dA3[
i].
p(
res,a,
b,c)))
 
 9217      while (dA3[
i].cmd==op)
 
 9233                  Print(
"call %s(%s,%s,%s)\n",
 
 9239                  || (call_failed=dA3[
i].
p(
res,an,bn,cn)));
 
 9288        Werror(
"`%s` is not defined",
s);
 
 9294        Werror(
"%s(`%s`,`%s`,`%s`) failed" 
 9298          while (dA3[
i].cmd==op)
 
 9300            if(((at==dA3[
i].arg1)
 
 9302            ||(ct==dA3[
i].arg3))
 
 9305              Werror(
"expected %s(`%s`,`%s`,`%s`)" 
 9334      memcpy(&d->arg1,a,
sizeof(
sleftv));
 
 9336      memcpy(&d->arg2,
b,
sizeof(
sleftv));
 
 9338      memcpy(&d->arg3,c,
sizeof(
sleftv));
 
 9342      res->data=(
char *)d;
 
 9354        if(!bb->blackbox_Op3(op,
res,a,
b,c)) 
return FALSE;
 
 9404  if(
v==
NULL) 
return failed;
 
 9426      res->data=(
char *)d;
 
 9431        memcpy(&d->arg1,a,
sizeof(
sleftv));
 
 9466        if(!bb->blackbox_OpM(op,
res,a)) 
return FALSE;
 
 9481      if ((args==
dArithM[
i].number_of_args)
 
 9483      || ((
dArithM[
i].number_of_args==-2)&&(args>0)))
 
 9581    Warn(
"outdated identifier `%s` used - please change your code",
 
 9632     if (op==dArithTab[
p].cmd) 
return dArithTab[
p].start;
 
 9633     if (op<dArithTab[
p].cmd) e=
p-1;
 
 9653  if (tok==
ANY_TYPE) 
return "any_type";
 
 9654  if (tok==
COMMAND) 
return "command";
 
 9655  if (tok==
NONE) 
return "nothing";
 
 9667  if (tok==
IDHDL) 
return "identifier";
 
 9703  cmdnames *pCmdL = (cmdnames*)a;
 
 9704  cmdnames *pCmdR = (cmdnames*)
b;
 
 9709  if(pCmdL->name==
NULL) 
return 1;
 
 9710  if(pCmdR->name==
NULL) 
return -1;
 
 9713  if(strcmp(pCmdL->name, 
"$INVALID$")==0) 
return -1;
 
 9714  if(strcmp(pCmdR->name, 
"$INVALID$")==0) 
return  1;
 
 9717  if (pCmdL->tokval==-1)
 
 9719    if (pCmdR->tokval==-1)
 
 9720       return strcmp(pCmdL->name, pCmdR->name);
 
 9725  if(pCmdR->tokval==-1) 
return -1;
 
 9727  return strcmp(pCmdL->name, pCmdR->name);
 
 9835  if(nPos<0) 
return NULL;
 
 9844  if(szName==
NULL) 
return -1;
 
 9849    Print(
"'%s' not found (%d)\n", szName, nIndex);
 
 9892    if(szName==
NULL) 
return -1;
 
 9896      Print(
"'%s' already exists at %d\n", szName, nIndex);
 
 9933      WerrorS(
"not implemented for non-commutative rings");
 
 9955      WerrorS(
"not implemented for rings with rings as coeffients");
 
 9962      WerrorS(
"domain required as coeffients");
 
 9968      WarnS(
"considering the image in Q[...]");
 
 9980    WerrorS(
"not implemented for rings with rings as coeffients (except ZZ)");
 
 9986  int return_type=c->
m[0].
Typ();
 
10003      for (
unsigned i=0;
i<=(unsigned)c->
nr;
i++)
 
10008        if (bo) { 
Werror(
"chinrem failed for list entry %d",
i+1); 
break;}
 
10018      WerrorS(
"poly/ideal/module/matrix/list expected");
 
10028      cf=
cf->extRing->cf;
 
10037      WerrorS(
"wromg number of primes");
 
10044    if (
p->length()!=rl)
 
10046      WerrorS(
"wromg number of primes");
 
10051  ideal *
x=(ideal *)
omAlloc(rl*
sizeof(ideal));
 
10057    for(
i=rl-1;
i>=0;
i--)
 
10059      if (c->
m[
i].
Typ()!=return_type)
 
10084    xx=(number *)
omAlloc(rl*
sizeof(number));
 
10085    for(
i=rl-1;
i>=0;
i--)
 
10097        Werror(
"bigint expected at pos %d",
i+1);
 
10104  number *q=(number *)
omAlloc(rl*
sizeof(number));
 
10107    for(
i=rl-1;
i>=0;
i--)
 
10114    for(
i=rl-1;
i>=0;
i--)
 
10126        Werror(
"bigint expected at pos %d",
i+1);
 
10142    res->data=(
char *)n;
 
10165  for(
i=rl-1;
i>=0;
i--)
 
10170  res->rtyp=return_type;
 
10180  for (
unsigned i=0;
i<=(unsigned)c->
nr;
i++)
 
10185    if (bo) { 
Werror(
"farey failed for list entry %d",
i+1); 
break;}
 
10198  if (at < bt) 
return -1;
 
10199  if (at > bt) 
return 1;
 
10200  int tab_pos=
iiTabIndex(dArithTab2,JJTAB2LEN,
'<');
 
10208    unsigned long ad=(
unsigned long)a->
Data();
 
10209    unsigned long bd=(
unsigned long)
b->Data();
 
10210    if (ad<bd) 
return -1;
 
10211    else if (ad==bd) 
return 0;
 
10222      unsigned long ad=(
unsigned long)a->
Data();
 
10223      unsigned long bd=(
unsigned long)
b->Data();
 
10224      if (ad<bd) 
return -1;
 
10225      else if (ad==bd) 
return 0;
 
10228    else if (tmp.
data==
NULL)  
return 1;
 
10256        for(
j=
i; 
j<len;
j++) 
l->m[
j]=
l->m[
j+1];
 
10257        memset(&(
l->m[len]),0,
sizeof(
sleftv));
 
ideal getMinorIdealCache(const matrix mat, const int minorSize, const int k, const ideal iSB, const int cacheStrategy, const int cacheN, const int cacheW, const bool allDifferent)
Returns the specified set of minors (= subdeterminantes) of the given matrix.
 
ideal getMinorIdeal(const matrix mat, const int minorSize, const int k, const char *algorithm, const ideal iSB, const bool allDifferent)
Returns the specified set of minors (= subdeterminantes) of the given matrix.
 
ideal getMinorIdealHeuristic(const matrix mat, const int minorSize, const int k, const ideal iSB, const bool allDifferent)
Returns the specified set of minors (= subdeterminantes) of the given matrix.
 
void atSet(idhdl root, char *name, void *data, int typ)
 
void * atGet(idhdl root, const char *name, int t, void *defaultReturnValue)
 
static int si_max(const int a, const int b)
 
static int si_min(const int a, const int b)
 
intvec * bim2iv(bigintmat *b)
 
bigintmat * bimMult(bigintmat *a, bigintmat *b)
 
bigintmat * bimSub(bigintmat *a, bigintmat *b)
 
bigintmat * bimAdd(bigintmat *a, bigintmat *b)
Matrix-Add/-Sub/-Mult so oder mit operator+/-/* ? @Note: NULL as a result means an error (non-compati...
 
struct blackbox_list * getBlackboxTypes()
return array of all define types.
 
const char * getBlackboxName(const int t)
return the name to the type given by t (r/o)
 
blackbox * getBlackboxStuff(const int t)
return the structure to the type given by t
 
int blackboxIsCmd(const char *n, int &tok)
used by scanner: returns ROOT_DECL for known types (and the type number in tok)
 
void printBlackboxTypes()
list all defined type (for debugging)
 
struct for containing list of blackbox names and the number of them.
 
const CanonicalForm CFMap CFMap & N
 
CanonicalForm map(const CanonicalForm &primElem, const Variable &alpha, const CanonicalForm &F, const Variable &beta)
map from  to  such that  is mapped onto
 
int ipower(int b, int m)
int ipower ( int b, int m )
 
poly singclap_pmod(poly f, poly g, const ring r)
 
ideal singclap_factorize(poly f, intvec **v, int with_exps, const ring r)
 
poly singclap_pdivide(poly f, poly g, const ring r)
 
BOOLEAN singclap_extgcd(poly f, poly g, poly &res, poly &pa, poly &pb, const ring r)
 
number singclap_det_bi(bigintmat *m, const coeffs cf)
 
int singclap_det_i(intvec *m, const ring)
 
ideal singclap_sqrfree(poly f, intvec **v, int with_exps, const ring r)
 
int compare(const bigintmat *op) const
 
intvec * delete_pos(int p)
 
void show(int mat=0, int spaces=0) const
 
int compare(const intvec *o) const
 
Class used for (list of) interpreter objects.
 
void CleanUp(ring r=currRing)
 
void Clean(ring r=currRing)
 
INLINE_THIS void Init(int l=0)
 
Coefficient rings, fields and other domains suitable for Singular polynomials.
 
static FORCE_INLINE int n_ParDeg(number n, const coeffs r)
 
static FORCE_INLINE number n_Mult(number a, number b, const coeffs r)
return the product of 'a' and 'b', i.e., a*b
 
static FORCE_INLINE number n_Param(const int iParameter, const coeffs r)
return the (iParameter^th) parameter as a NEW number NOTE: parameter numbering: 1....
 
static FORCE_INLINE long n_Int(number &n, const coeffs r)
conversion of n to an int; 0 if not possible in Z/pZ: the representing int lying in (-p/2 ....
 
static FORCE_INLINE number n_Add(number a, number b, const coeffs r)
return the sum of 'a' and 'b', i.e., a+b
 
static FORCE_INLINE number n_GetDenom(number &n, const coeffs r)
return the denominator of n (if elements of r are by nature not fractional, result is 1)
 
static FORCE_INLINE BOOLEAN nCoeff_is_Extension(const coeffs r)
 
static FORCE_INLINE number n_Random(siRandProc p, number p1, number p2, const coeffs cf)
 
@ n_algExt
used for all algebraic extensions, i.e., the top-most extension in an extension tower is algebraic
 
static FORCE_INLINE number n_Gcd(number a, number b, const coeffs r)
in Z: return the gcd of 'a' and 'b' in Z/nZ, Z/2^kZ: computed as in the case Z in Z/pZ,...
 
static FORCE_INLINE char * nCoeffString(const coeffs cf)
TODO: make it a virtual method of coeffs, together with: Decompose & Compose, rParameter & rPar.
 
static FORCE_INLINE BOOLEAN n_GreaterZero(number n, const coeffs r)
ordered fields: TRUE iff 'n' is positive; in Z/pZ: TRUE iff 0 < m <= roundedBelow(p/2),...
 
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
 
static FORCE_INLINE number n_InpNeg(number n, const coeffs r)
in-place negation of n MUST BE USED: n = n_InpNeg(n) (no copy is returned)
 
static FORCE_INLINE void n_Power(number a, int b, number *res, const coeffs r)
fill res with the power a^b
 
static FORCE_INLINE number n_Farey(number a, number b, const coeffs r)
 
static FORCE_INLINE number n_Div(number a, number b, const coeffs r)
return the quotient of 'a' and 'b', i.e., a/b; raises an error if 'b' is not invertible in r exceptio...
 
static FORCE_INLINE number n_RePart(number i, const coeffs cf)
 
static FORCE_INLINE BOOLEAN n_IsZero(number n, const coeffs r)
TRUE iff 'n' represents the zero element.
 
static FORCE_INLINE int n_Size(number n, const coeffs r)
return a non-negative measure for the complexity of n; return 0 only when n represents zero; (used fo...
 
static FORCE_INLINE number n_Sub(number a, number b, const coeffs r)
return the difference of 'a' and 'b', i.e., a-b
 
static FORCE_INLINE number n_ChineseRemainderSym(number *a, number *b, int rl, BOOLEAN sym, CFArray &inv_cache, const coeffs r)
 
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
 
static FORCE_INLINE char * nCoeffName(const coeffs cf)
 
static FORCE_INLINE number n_ExtGcd(number a, number b, number *s, number *t, const coeffs r)
beware that ExtGCD is only relevant for a few chosen coeff. domains and may perform something unexpec...
 
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
 
static FORCE_INLINE number n_IntMod(number a, number b, const coeffs r)
for r a field, return n_Init(0,r) always: n_Div(a,b,r)*b+n_IntMod(a,b,r)==a n_IntMod(a,...
 
static FORCE_INLINE BOOLEAN n_Equal(number a, number b, const coeffs r)
TRUE iff 'a' and 'b' represent the same number; they may have different representations.
 
static FORCE_INLINE number n_GetNumerator(number &n, const coeffs r)
return the numerator of n (if elements of r are by nature not fractional, result is n)
 
static FORCE_INLINE number n_SubringGcd(number a, number b, const coeffs r)
 
static FORCE_INLINE number n_ImPart(number i, const coeffs cf)
 
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
 
static FORCE_INLINE void n_Normalize(number &n, const coeffs r)
inplace-normalization of n; produces some canonical representation of n;
 
static FORCE_INLINE BOOLEAN nCoeff_is_transExt(const coeffs r)
TRUE iff r represents a transcendental extension field.
 
static BOOLEAN pa(leftv res, leftv args)
 
static BOOLEAN pb(leftv res, leftv args)
 
const CanonicalForm int s
 
const Variable & v
< [in] a sqrfree bivariate poly
 
VAR void(* WerrorS_callback)(const char *s)
 
FILE * feFopen(const char *path, const char *mode, char *where, short useWerror, short path_only)
 
void WerrorS(const char *s)
 
static void * feOptValue(feOptIndex opt)
 
VAR char my_yylinebuf[80]
 
void monitor(void *F, int mode)
 
if(!FE_OPT_NO_SHELL_FLAG)(void) system(sys)
 
void newBuffer(char *s, feBufferTypes t, procinfo *pi, int lineno)
 
This file is work in progress and currently not part of the official Singular.
 
matrix singflint_kernel(matrix m, const ring R)
 
int iiTestConvert(int inputType, int outputType)
 
const char * iiTwoOps(int t)
 
static int RingDependend(int t)
 
VAR BOOLEAN yyInRingConstruction
 
ideal scKBase(int deg, ideal s, ideal Q, intvec *mv)
 
int scDimIntRing(ideal vid, ideal Q)
scDimInt for ring-coefficients
 
long scMult0Int(ideal S, ideal Q)
 
intvec * scIndIntvec(ideal S, ideal Q)
 
int lp_kDim(const ideal _G)
 
int lp_gkDim(const ideal _G)
 
int scMultInt(ideal S, ideal Q)
 
void scDegree(ideal S, intvec *modulweight, ideal Q)
 
intvec * hSecondSeries(intvec *hseries1)
 
intvec * hFirstSeries(ideal A, intvec *module_w, ideal Q, intvec *wdegree)
 
void hLookSeries(ideal S, intvec *modulweight, ideal Q, intvec *wdegree)
 
GbVariant syGetAlgorithm(char *n, const ring r, const ideal)
 
matrix idCoeffOfKBase(ideal arg, ideal kbase, poly how)
 
void idLiftW(ideal P, ideal Q, int n, matrix &T, ideal &R, int *w)
 
ideal idSyzygies(ideal h1, tHomog h, intvec **w, BOOLEAN setSyzComp, BOOLEAN setRegularity, int *deg, GbVariant alg)
 
matrix idDiff(matrix i, int k)
 
BOOLEAN idTestHomModule(ideal m, ideal Q, intvec *w)
 
ideal idLiftStd(ideal h1, matrix *T, tHomog hi, ideal *S, GbVariant alg, ideal h11)
 
ideal idQuot(ideal h1, ideal h2, BOOLEAN h1IsStb, BOOLEAN resultIsIdeal)
 
ideal idSeries(int n, ideal M, matrix U, intvec *w)
 
matrix idDiffOp(ideal I, ideal J, BOOLEAN multiply)
 
ideal idElimination(ideal h1, poly delVar, intvec *hilb, GbVariant alg)
 
ideal idMinBase(ideal h1)
 
ideal idSect(ideal h1, ideal h2, GbVariant alg)
 
ideal idMultSect(resolvente arg, int length, GbVariant alg)
 
ideal idLift(ideal mod, ideal submod, ideal *rest, BOOLEAN goodShape, BOOLEAN isSB, BOOLEAN divide, matrix *unit, GbVariant alg)
represents the generators of submod in terms of the generators of mod (Matrix(SM)*U-Matrix(rest)) = M...
 
ideal idModulo(ideal h2, ideal h1, tHomog hom, intvec **w, matrix *T, GbVariant alg)
 
ideal id_Farey(ideal x, number N, const ring r)
 
ideal idMinEmbedding(ideal arg, BOOLEAN inPlace, intvec **w)
 
#define idDelete(H)
delete an ideal
 
#define idSimpleAdd(A, B)
 
ideal id_Copy(ideal h1, const ring r)
copy an ideal
 
static BOOLEAN idIsZeroDim(ideal i)
 
static BOOLEAN idHomModule(ideal m, ideal Q, intvec **w)
 
static BOOLEAN idHomIdeal(ideal id, ideal Q=NULL)
 
static ideal idMult(ideal h1, ideal h2)
hh := h1 * h2
 
ideal idAdd(ideal h1, ideal h2)
h1 + h2
 
#define idMaxIdeal(D)
initialise the maximal ideal (at 0)
 
static intvec * idSort(ideal id, BOOLEAN nolex=TRUE)
 
ideal interpolation(const std::vector< ideal > &L, intvec *v)
 
static BOOLEAN length(leftv result, leftv arg)
 
intvec * ivSub(intvec *a, intvec *b)
 
intvec * ivAdd(intvec *a, intvec *b)
 
intvec * ivMult(intvec *a, intvec *b)
 
intvec * ivTranp(intvec *o)
 
intvec * ivCopy(const intvec *o)
 
#define IMATELEM(M, I, J)
 
static BOOLEAN jjUMINUS_MA(leftv res, leftv u)
 
static BOOLEAN jjOP_BIM_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjRANK1(leftv res, leftv v)
 
static BOOLEAN jjINDEX_V_IV(leftv res, leftv u, leftv v)
 
static BOOLEAN jjIMPART(leftv res, leftv v)
 
static BOOLEAN jjIm2Iv(leftv res, leftv v)
 
static BOOLEAN jjQUOT(leftv res, leftv u, leftv v)
 
static BOOLEAN jjUMINUS_IV(leftv res, leftv u)
 
static BOOLEAN jjOPPOSITE(leftv res, leftv a)
 
static int _gentable_sort_cmds(const void *a, const void *b)
compares to entry of cmdsname-list
 
BOOLEAN jjWAITALL1(leftv res, leftv u)
 
static BOOLEAN jjRESTART(leftv, leftv u)
 
static BOOLEAN jjidHead(leftv res, leftv v)
 
static BOOLEAN jjHILBERT(leftv, leftv v)
 
static BOOLEAN jjTIMES_MA_P1(leftv res, leftv u, leftv v)
 
static BOOLEAN jjLEADMONOM(leftv res, leftv v)
 
static BOOLEAN jjOP_IV_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjstrlen(leftv res, leftv v)
 
static BOOLEAN jjBRACK_Bim(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjEXTGCD_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjDET_BI(leftv res, leftv v)
 
BOOLEAN jjWAIT1ST1(leftv res, leftv u)
 
BOOLEAN jjLOAD(const char *s, BOOLEAN autoexport)
load lib/module given in v
 
static BOOLEAN jjMATRIX_Mo(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjP2I(leftv res, leftv v)
 
static BOOLEAN jjIS_RINGVAR_P(leftv res, leftv v)
 
static BOOLEAN jjDOTDOT(leftv res, leftv u, leftv v)
 
static BOOLEAN jjFWALK3(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjREPART(leftv res, leftv v)
 
static BOOLEAN jjTIMES_MA_BI2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjMAP(leftv res, leftv u, leftv v)
 
static BOOLEAN jjGT_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjN2BI(leftv res, leftv v)
 
static BOOLEAN jjRESERVEDLIST0(leftv res, leftv)
 
static BOOLEAN jjCHAR(leftv res, leftv v)
 
static BOOLEAN jjOP_I_IM(leftv res, leftv u, leftv v)
 
static BOOLEAN jjBRACK_Ma_IV_I(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjROWS_IV(leftv res, leftv v)
 
static BOOLEAN jjLIFTSTD(leftv res, leftv u, leftv v)
 
static BOOLEAN jjNULL(leftv, leftv)
 
static BOOLEAN jjNEWSTRUCT2(leftv, leftv u, leftv v)
 
static BOOLEAN jjMONITOR2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjDIM(leftv res, leftv v)
 
static BOOLEAN jjCOUNT_BIM(leftv res, leftv v)
 
static BOOLEAN jjBRACKET(leftv res, leftv a, leftv b)
 
static BOOLEAN jjCOLS_IV(leftv res, leftv v)
 
static BOOLEAN jjNAMES_I(leftv res, leftv v)
 
static BOOLEAN jjMULT(leftv res, leftv v)
 
static BOOLEAN jjHOMOG1_WI(leftv res, leftv v, leftv u)
 
static BOOLEAN jjPARDEG(leftv res, leftv v)
 
static BOOLEAN jjDENOMINATOR(leftv res, leftv v)
Return the denominator of the input number.
 
static BOOLEAN jjRANDOM(leftv res, leftv u, leftv v)
 
static BOOLEAN jjIDEAL_Ma(leftv res, leftv v)
 
static BOOLEAN jjDIVISION(leftv res, leftv u, leftv v)
 
static BOOLEAN jjOP_I_IV(leftv res, leftv u, leftv v)
 
static BOOLEAN jjmpTransp(leftv res, leftv v)
 
static BOOLEAN jjOPTION_PL(leftv res, leftv v)
 
static BOOLEAN jjEQUAL_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjDET_S(leftv res, leftv v)
 
static BOOLEAN jjL2R(leftv res, leftv v)
 
static BOOLEAN jjREDUCE5(leftv res, leftv u)
 
static BOOLEAN jjrCharStr(leftv res, leftv v)
 
static BOOLEAN jjSUBST_Id_I(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjMINUS_B_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjHILBERT_IV(leftv res, leftv v)
 
int iiArithFindCmd(const char *szName)
 
static BOOLEAN jjIDEAL_R(leftv res, leftv v)
 
static BOOLEAN jjINDEPSET(leftv res, leftv v)
 
static BOOLEAN jjTYPEOF(leftv res, leftv v)
 
static BOOLEAN jjLU_SOLVE(leftv res, leftv v)
 
static BOOLEAN jjFACSTD(leftv res, leftv v)
 
static BOOLEAN jjMEMORY(leftv res, leftv v)
 
static BOOLEAN jjidTransp(leftv res, leftv v)
 
static BOOLEAN jjLIFT(leftv res, leftv u, leftv v)
 
static BOOLEAN jjUMINUS_BIM(leftv res, leftv u)
 
static BOOLEAN jjSUBST_Bu(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjTIMES_MA_N2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjDIM_R(leftv res, leftv v)
 
BOOLEAN jjSORTLIST(leftv, leftv arg)
 
static BOOLEAN jjDUMP(leftv, leftv v)
 
static BOOLEAN jjpMaxComp(leftv res, leftv v)
 
static BOOLEAN jjCOEFFS1(leftv res, leftv v)
 
static BOOLEAN jjREDUCE3_ID(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjELIMIN_HILB(leftv res, leftv u, leftv v, leftv w)
 
static int jjCOMPARE_ALL(const void *aa, const void *bb)
 
static BOOLEAN jjNAMEOF(leftv res, leftv v)
 
static BOOLEAN jjPlural_mat_poly(leftv res, leftv a, leftv b)
 
static BOOLEAN jjTIMES_SM(leftv res, leftv u, leftv v)
 
static BOOLEAN jjMOD_BI(leftv res, leftv u, leftv v)
 
BOOLEAN jjUNIQLIST(leftv, leftv arg)
 
static BOOLEAN jjTIMES_MA_I2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjSTATUS2L(leftv res, leftv u, leftv v)
 
BOOLEAN(* proc3)(leftv, leftv, leftv, leftv)
 
static BOOLEAN jjGT_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPRIME(leftv res, leftv v)
 
static BOOLEAN jjPFAC2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjidVec2Ideal(leftv res, leftv v)
 
static BOOLEAN jjJACOB_P(leftv res, leftv v)
 
static BOOLEAN jjSQR_FREE(leftv res, leftv u)
 
static BOOLEAN jjSTD_HILB_W(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjEQUAL_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjTIMES_MA_P2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjMODULO3(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjSBA_1(leftv res, leftv v, leftv u)
 
static BOOLEAN jjCOEFFS3_P(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjCALL1MANY(leftv res, leftv u)
 
static BOOLEAN jjPLUS_MA(leftv res, leftv u, leftv v)
 
static BOOLEAN jjMINUS_V(leftv res, leftv u, leftv v)
 
static BOOLEAN jjINTERRED(leftv res, leftv v)
 
static BOOLEAN jjJACOB_M(leftv res, leftv a)
 
static BOOLEAN jjJET_ID_IV(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjTIMES_ID(leftv res, leftv u, leftv v)
 
static BOOLEAN jjBAREISS(leftv res, leftv v)
 
static BOOLEAN jjREAD(leftv res, leftv v)
 
static BOOLEAN jjLT_N(leftv res, leftv u, leftv v)
 
static BOOLEAN jjMINUS_MA(leftv res, leftv u, leftv v)
 
static BOOLEAN jjFactModD_M(leftv res, leftv v)
 
static BOOLEAN jjMATRIX_Id(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjEXTGCD_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjIS_RINGVAR_S(leftv res, leftv v)
 
static BOOLEAN jjDelete_ID(leftv res, leftv u, leftv v)
 
static BOOLEAN jjLE_N(leftv res, leftv u, leftv v)
 
static BOOLEAN jjSUBST_P(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjROWS_BIM(leftv res, leftv v)
 
static BOOLEAN jjCOMPARE_S(leftv res, leftv u, leftv v)
 
int iiInitArithmetic()
initialisation of arithmetic structured data
 
static BOOLEAN jjOR_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjTIMES_MA_I1(leftv res, leftv u, leftv v)
 
static BOOLEAN jjLIFTSTD_SYZ(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjBAREISS3(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjRESERVED0(leftv, leftv)
 
static BOOLEAN jjTIMES_MA_N1(leftv res, leftv u, leftv v)
 
static BOOLEAN jjLIFT_4(leftv res, leftv U)
 
static BOOLEAN jjSLIM_GB(leftv res, leftv u)
 
static BOOLEAN jjMSTD(leftv res, leftv v)
 
static BOOLEAN jjBREAK1(leftv, leftv v)
 
static BOOLEAN jjJET_ID_M(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjMINUS_BIM(leftv res, leftv u, leftv v)
 
static BOOLEAN jjnInt(leftv res, leftv u)
 
static BOOLEAN jjSQR_FREE2(leftv res, leftv u, leftv dummy)
 
static BOOLEAN jjCOEFFS3_Id(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjREGULARITY(leftv res, leftv v)
 
static BOOLEAN jjHOMOG_W_M(leftv res, leftv v1, leftv v2, leftv v3)
 
static BOOLEAN jjMINUS_N(leftv res, leftv u, leftv v)
 
static BOOLEAN jjBREAK0(leftv, leftv)
 
static BOOLEAN jjTRACE_IV(leftv res, leftv v)
 
BOOLEAN iiExprArith2(leftv res, leftv a, int op, leftv b, BOOLEAN proccall)
 
static BOOLEAN jjMONOM(leftv res, leftv v)
 
static BOOLEAN jjSort_Id(leftv res, leftv v)
 
static BOOLEAN jjCOEF_M(leftv, leftv v)
 
static BOOLEAN jjidMinBase(leftv res, leftv v)
 
static BOOLEAN jjDEG_IV(leftv res, leftv u, leftv v)
 
static BOOLEAN jjRING_2(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjMINUS_IV(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPREIMAGE_R(leftv res, leftv v)
 
static BOOLEAN jjHOMOG_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjBRACK_Im(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjMATRIX_Ma(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjidMaxIdeal(leftv res, leftv v)
 
static BOOLEAN jjMINOR_M(leftv res, leftv v)
 
static BOOLEAN jjCOUNT_BI(leftv res, leftv v)
 
static BOOLEAN jjPROC3(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjKERNEL_M(leftv res, leftv v)
 
static BOOLEAN jjCOLS_BIM(leftv res, leftv v)
 
static BOOLEAN jjREDUCE3_CP(leftv res, leftv u, leftv v, leftv w)
 
struct sValCmd3 * psValCmd3
 
static BOOLEAN jjBRACK_Ma_I_IV(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjLE_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPLUS_B_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPlural_mat_mat(leftv res, leftv a, leftv b)
 
static BOOLEAN jjIDEAL_Map(leftv res, leftv v)
 
static BOOLEAN jjPARSTR2(leftv res, leftv u, leftv v)
 
BOOLEAN(* proc2)(leftv, leftv, leftv)
 
static BOOLEAN jjKoszul(leftv res, leftv u, leftv v)
 
static BOOLEAN jjTIMES_N(leftv res, leftv u, leftv v)
 
static BOOLEAN jjINTERSECT_PL(leftv res, leftv v)
 
static BOOLEAN jjTIMES_MA(leftv res, leftv u, leftv v)
 
static BOOLEAN jjTIMES_IV(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPLUS_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjINTERSEC3S(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjRES3(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjJET_P_IV(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjREDUCE_ID(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCOEF(leftv res, leftv u, leftv v)
 
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
 
static BOOLEAN jjOP_REST(leftv res, leftv u, leftv v)
 
static BOOLEAN jjEXECUTE(leftv, leftv v)
 
static BOOLEAN jjDEG_M_IV(leftv res, leftv u, leftv v)
 
static BOOLEAN jjSTATUS3(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjLEADEXP(leftv res, leftv v)
 
static BOOLEAN jjDEG_M(leftv res, leftv u)
 
static BOOLEAN jjPLUS_IV(leftv res, leftv u, leftv v)
 
static BOOLEAN jjDIFF_COEF(leftv res, leftv u, leftv v)
 
int iiArithRemoveCmd(char *szName)
 
static BOOLEAN jjGE_N(leftv res, leftv u, leftv v)
 
static BOOLEAN jjEQUAL_SM(leftv res, leftv u, leftv v)
 
static BOOLEAN jjINTERPOLATION(leftv res, leftv l, leftv v)
 
static BOOLEAN jjSIMPL_ID(leftv res, leftv u, leftv v)
 
static BOOLEAN jjRING3(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjREDUCE_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjDIV_Ma(leftv res, leftv u, leftv v)
 
static BOOLEAN jjFRES3(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjMODULO(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCOMPARE_IV(leftv res, leftv u, leftv v)
 
STATIC_VAR int WerrorS_dummy_cnt
 
static BOOLEAN jjREAD2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjREDUCE3_P(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjPAR1(leftv res, leftv v)
 
static BOOLEAN jjnlInt(leftv res, leftv u)
 
cmdnames * sCmds
array of existing commands
 
static BOOLEAN jjFAREY_ID(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPLUS_ID(leftv res, leftv u, leftv v)
 
static BOOLEAN jjGCD_N(leftv res, leftv u, leftv v)
 
static BOOLEAN jjELIMIN(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPLUSPLUS(leftv, leftv u)
 
static Subexpr jjMakeSub(leftv e)
 
static BOOLEAN jjCHINREM_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjROWS(leftv res, leftv v)
 
static BOOLEAN jjJET_ID(leftv res, leftv u, leftv v)
 
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)
 
int IsCmd(const char *n, int &tok)
 
static BOOLEAN jjSBA(leftv res, leftv v)
 
static BOOLEAN jjOP_IM_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjJanetBasis(leftv res, leftv v)
 
static BOOLEAN jjKBASE(leftv res, leftv v)
 
static BOOLEAN jjTENSOR(leftv res, leftv u, leftv v)
 
static BOOLEAN jjmpTrace(leftv res, leftv v)
 
static BOOLEAN jjRING_PL(leftv res, leftv a)
 
static BOOLEAN jjREDUCE4(leftv res, leftv u)
 
static BOOLEAN jjFWALK(leftv res, leftv u, leftv v)
 
static BOOLEAN jjTEST(leftv, leftv v)
 
static BOOLEAN jjDIFF_ID_ID(leftv res, leftv u, leftv v)
 
static BOOLEAN jjSYZ_2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPRUNE(leftv res, leftv v)
 
EXTERN_VAR int singclap_factorize_retry
 
static BOOLEAN jjDIVISION4(leftv res, leftv v)
 
unsigned nLastIdentifier
valid identifiers are slot 1..nLastIdentifier
 
static BOOLEAN jjDEFINED(leftv res, leftv v)
 
static BOOLEAN jjLagSolve(leftv res, leftv v)
 
static BOOLEAN jjRING_1(leftv res, leftv u, leftv v)
 
static BOOLEAN jjVDIM(leftv res, leftv v)
 
static BOOLEAN jjOP_I_BIM(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCOUNT_N(leftv res, leftv v)
 
static BOOLEAN jjHILBERT2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjFIND2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCOEF_Id(leftv res, leftv u, leftv v)
 
static BOOLEAN jjP2N(leftv res, leftv v)
 
static BOOLEAN jjE(leftv res, leftv v)
 
static BOOLEAN jjPOWER_ID(leftv res, leftv u, leftv v)
 
static BOOLEAN jjTIMES_MA_BI1(leftv res, leftv u, leftv v)
 
BOOLEAN iiExprArith1(leftv res, leftv a, int op)
 
static BOOLEAN jjSTD_HILB_WP(leftv res, leftv INPUT)
 
static BOOLEAN jjLISTRING(leftv res, leftv v)
 
static BOOLEAN jjCOEFFS2_KB(leftv res, leftv u, leftv v)
 
static BOOLEAN jjLIFTSTD_M(leftv res, leftv U)
 
static BOOLEAN jjELIMIN_ALG(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjVAR1(leftv res, leftv v)
 
static BOOLEAN jjLEADCOEF(leftv res, leftv v)
 
static BOOLEAN jjVARSTR2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPLUS_N(leftv res, leftv u, leftv v)
 
static BOOLEAN jjSUBST_Id_X(leftv res, leftv u, leftv v, leftv w, int input_type)
 
static BOOLEAN jjUMINUS_BI(leftv res, leftv u)
 
int iiArithAddCmd(const char *szName, short nAlias, short nTokval, short nToktype, short nPos=-1)
 
static BOOLEAN jjpLength(leftv res, leftv v)
 
static BOOLEAN jjJET_P_P(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjLT_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjIS_RINGVAR0(leftv res, leftv)
 
static BOOLEAN jjEXTGCD_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjBI2P(leftv res, leftv u)
 
static BOOLEAN jjTWOSTD(leftv res, leftv a)
 
static BOOLEAN jjGCD_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCONTRACT(leftv res, leftv u, leftv v)
 
static BOOLEAN jjFAC_P(leftv res, leftv u)
 
static BOOLEAN jjREDUCE3_CID(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjFAREY_LI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjTRANSP_BIM(leftv res, leftv v)
 
static BOOLEAN jjCOUNT_RES(leftv res, leftv v)
 
static BOOLEAN jjDelete_IV(leftv res, leftv u, leftv v)
 
static BOOLEAN jjGE_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjrOrdStr(leftv res, leftv v)
 
static BOOLEAN jjKERNEL(leftv res, leftv u, leftv v)
 
static BOOLEAN jjINTERSECT3(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjBRACK_Ma(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjMOD_N(leftv res, leftv u, leftv v)
 
static BOOLEAN jjLOAD_E(leftv, leftv v, leftv u)
 
static BOOLEAN jjNEWSTRUCT3(leftv, leftv u, leftv v, leftv w)
 
static BOOLEAN jjHOMOG_P_W(leftv res, leftv u, leftv v, leftv)
 
static BOOLEAN jjpHead(leftv res, leftv v)
 
static BOOLEAN jjSUBST_Id(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjEQUAL_R(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCOUNT_L(leftv res, leftv v)
 
struct sValCmdM * psValCmdM
 
static BOOLEAN jjDET_I(leftv res, leftv v)
 
static BOOLEAN jjCOUNT_RG(leftv res, leftv v)
 
static BOOLEAN jjSMATRIX_Mo(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjINTERSECT(leftv res, leftv u, leftv v)
 
static BOOLEAN jjrVarStr(leftv res, leftv v)
 
static BOOLEAN jjOP_BI_BIM(leftv res, leftv u, leftv v)
 
static BOOLEAN jjDIFF_P(leftv res, leftv u, leftv v)
 
static BOOLEAN check_valid(const int p, const int op)
 
static BOOLEAN jjSTRING_PL(leftv res, leftv v)
 
static BOOLEAN jjMINUS_B(leftv res, leftv u, leftv v)
 
static BOOLEAN jjRSUM(leftv res, leftv u, leftv v)
 
static BOOLEAN jjINDEX_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPOWER_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjMONITOR1(leftv res, leftv v)
 
static BOOLEAN jjKLAMMER_IV(leftv res, leftv u, leftv v)
 
static BOOLEAN jjFETCH(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCALL3ARG(leftv res, leftv u)
 
static BOOLEAN jjSTD_1(leftv res, leftv u, leftv v)
 
static BOOLEAN jjUMINUS_N(leftv res, leftv u)
 
static BOOLEAN jjNUMERATOR(leftv res, leftv v)
Return the numerator of the input number.
 
static BOOLEAN jjORD(leftv res, leftv v)
 
static BOOLEAN jjTIMES_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjUMINUS_I(leftv res, leftv u)
 
static BOOLEAN jjPREIMAGE(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjBRACK_Ma_IV_IV(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjPLUS_SM(leftv res, leftv u, leftv v)
 
BOOLEAN jjLOAD_TRY(const char *s)
 
static BOOLEAN jjLIFT3(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjENVELOPE(leftv res, leftv a)
 
static BOOLEAN jjSetRing(leftv, leftv u)
 
static BOOLEAN jjMINUS_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjTIMES_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjFACSTD2(leftv res, leftv v, leftv w)
 
static BOOLEAN jjINTVEC_PL(leftv res, leftv v)
 
STATIC_VAR SArithBase sArithBase
Base entry for arithmetic.
 
static BOOLEAN jjEXPORTTO(leftv, leftv u, leftv v)
 
static BOOLEAN jjPlural_num_poly(leftv res, leftv a, leftv b)
 
static BOOLEAN jjDIV_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjKBASE2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPOWER_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjRES(leftv res, leftv u, leftv v)
 
static int iin_Int(number &n, coeffs cf)
 
static BOOLEAN jjPLUS_P_MA(leftv res, leftv u, leftv v)
 
static BOOLEAN jjMINRES_R(leftv res, leftv v)
 
static BOOLEAN jjCOLS(leftv res, leftv v)
 
static BOOLEAN jjPLUS_BIM(leftv res, leftv u, leftv v)
 
static BOOLEAN jjP2BI(leftv res, leftv v)
 
static void WerrorS_dummy(const char *)
 
static BOOLEAN jjGE_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjTRANSP_IV(leftv res, leftv v)
 
static BOOLEAN jjGT_N(leftv res, leftv u, leftv v)
 
static BOOLEAN jjUNIVARIATE(leftv res, leftv v)
 
static BOOLEAN jjMODULO4(leftv res, leftv u)
 
static BOOLEAN jjHOMOG_ID_W(leftv res, leftv u, leftv v, leftv)
 
static BOOLEAN jjWEDGE(leftv res, leftv u, leftv v)
 
EXTERN_VAR BOOLEAN expected_parms
 
static BOOLEAN jjCOMPARE_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjFIND3(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjLU_INVERSE(leftv res, leftv v)
 
static BOOLEAN jjMODULO3S(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjBAREISS_BIM(leftv res, leftv v)
 
static BOOLEAN jjPLUS_MA_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjSIMPL_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPFAC1(leftv res, leftv v)
 
static BOOLEAN jjQRDS(leftv res, leftv INPUT)
 
static BOOLEAN jjELIMIN_IV(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCONTENT(leftv res, leftv v)
 
static BOOLEAN jjDIFF_ID(leftv res, leftv u, leftv v)
 
static BOOLEAN jjSTD(leftv res, leftv v)
 
static BOOLEAN jjTIMES_BIM(leftv res, leftv u, leftv v)
 
static BOOLEAN jjTIMES_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjDIV_N(leftv res, leftv u, leftv v)
 
static BOOLEAN jjINTMAT3(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjCOUNT_IV(leftv res, leftv v)
 
static BOOLEAN jjFRES(leftv res, leftv u, leftv v)
 
unsigned nCmdAllocated
number of commands-slots allocated
 
static BOOLEAN jjDUMMY(leftv res, leftv u)
 
static BOOLEAN jjS2I(leftv res, leftv v)
 
static BOOLEAN jjKLAMMER(leftv res, leftv u, leftv v)
 
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
 
static BOOLEAN jjBI2N(leftv res, leftv u)
 
static BOOLEAN jjRIGHTSTD(leftv res, leftv v)
 
BOOLEAN iiExprArithM(leftv res, leftv a, int op)
 
static BOOLEAN jjCOMPARE_MA(leftv res, leftv u, leftv v)
 
BOOLEAN iiExprArith3(leftv res, int op, leftv a, leftv b, leftv c)
 
static BOOLEAN jjGETDUMP(leftv, leftv v)
 
static BOOLEAN jjidFreeModule(leftv res, leftv v)
 
static BOOLEAN jjFAREY_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjBRACKET_REC(leftv res, leftv a, leftv b, leftv c)
 
static BOOLEAN jjCOMPARE_IV_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjRANDOM_Im(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjRESERVEDNAME(leftv res, leftv v)
 
struct sValCmd1 * psValCmd1
 
static BOOLEAN jjDIVMOD_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjLE_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjTENSOR_Ma(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCOEFFS3_KB(leftv res, leftv u, leftv v, leftv w)
 
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)
 
static BOOLEAN jjRMINUS(leftv res, leftv u, leftv v)
 
BOOLEAN jjPROC(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPLUS_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjHILBERT3(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjDET2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjSTD_HILB(leftv res, leftv u, leftv v)
 
static BOOLEAN jjAND_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjINDEX_P_IV(leftv res, leftv u, leftv v)
 
static BOOLEAN jjRPAR(leftv res, leftv v)
 
static BOOLEAN jjJanetBasis2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjLOAD1(leftv, leftv v)
 
static BOOLEAN jjCOLON(leftv res, leftv u, leftv v)
 
const char * Tok2Cmdname(int tok)
 
static BOOLEAN jjRPLUS(leftv res, leftv u, leftv v)
 
static BOOLEAN jjKERNEL_SM(leftv res, leftv v)
 
static BOOLEAN jjCOLCOL(leftv res, leftv u, leftv v)
 
static BOOLEAN jjFAC_P2(leftv res, leftv u, leftv dummy)
 
static BOOLEAN jjHOMOG_ID(leftv res, leftv u, leftv v)
 
static BOOLEAN jjrParStr(leftv res, leftv v)
 
struct sValCmd2 * psValCmd2
 
static BOOLEAN jjDEG(leftv res, leftv v)
 
static BOOLEAN jjFETCH_M(leftv res, leftv u)
 
static BOOLEAN jjINDEX_V(leftv res, leftv u, leftv v)
 
static BOOLEAN jjRINGLIST(leftv res, leftv v)
 
static BOOLEAN jjidElem(leftv res, leftv v)
 
static BOOLEAN jjDIM2(leftv res, leftv v, leftv w)
 
static BOOLEAN jjOP_BIM_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjGCD_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjBI2IM(leftv res, leftv u)
 
static BOOLEAN jjRANK2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjDEGREE(leftv res, leftv v)
 
static BOOLEAN jjLIFTSTD_ALG(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjINDEPSET2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjWAITALL2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjOpenClose(leftv, leftv v)
 
static BOOLEAN jjBRACK_S(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjUMINUS_P(leftv res, leftv u)
 
static BOOLEAN jjMINUS_SM(leftv res, leftv u, leftv v)
 
static BOOLEAN jjHIGHCORNER_M(leftv res, leftv v)
 
static BOOLEAN jjNAMES(leftv res, leftv v)
 
static BOOLEAN jjINDEX_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjHIGHCORNER(leftv res, leftv v)
 
static BOOLEAN jjEQUAL_Ma(leftv res, leftv u, leftv v)
 
static BOOLEAN jjNAMES0(leftv res, leftv)
 
static BOOLEAN jjLOAD2(leftv, leftv, leftv v)
 
static BOOLEAN jjALIGN_M(leftv res, leftv u, leftv v)
 
static BOOLEAN jjWAIT1ST2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjDIV_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCOMPARE_BIM(leftv res, leftv u, leftv v)
 
static BOOLEAN jjEQUAL_N(leftv res, leftv u, leftv v)
 
static BOOLEAN jjDelete_ID_IV(leftv res, leftv u, leftv v)
 
static BOOLEAN jjDET2_S(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCOEFFS_Id(leftv res, leftv u, leftv v)
 
STATIC_VAR si_char_2 Tok2Cmdname_buf
 
static BOOLEAN jjPROC1(leftv res, leftv u)
 
static BOOLEAN jjNOT(leftv res, leftv v)
 
static BOOLEAN jjPARSTR1(leftv res, leftv v)
 
static BOOLEAN jjSUBST_Id_N(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjJET4(leftv res, leftv u)
 
static BOOLEAN jjOPPOSE(leftv res, leftv a, leftv b)
 
static BOOLEAN jjMOD_P(leftv res, leftv u, leftv v)
 
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
 
static BOOLEAN jjPLUS_B(leftv res, leftv u, leftv v)
 
static BOOLEAN jjGCD_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjHOMOG1(leftv res, leftv v)
 
static BOOLEAN jjDET(leftv res, leftv v)
 
static void jjEQUAL_REST(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCOUNT_M(leftv res, leftv v)
 
static BOOLEAN jjPLUS_V(leftv res, leftv u, leftv v)
 
static BOOLEAN jjKoszul_Id(leftv res, leftv u, leftv v)
 
static BOOLEAN jjKLAMMER_rest(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCHINREM_ID(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPLUS_S(leftv res, leftv u, leftv v)
 
static BOOLEAN jjHOMOG1_W(leftv res, leftv v, leftv u)
 
static BOOLEAN jjSBA_2(leftv res, leftv v, leftv u, leftv t)
 
static BOOLEAN jjINDEX_IV(leftv res, leftv u, leftv v)
 
unsigned nCmdUsed
number of commands used
 
static BOOLEAN jjRING_LIST(leftv res, leftv v)
 
static BOOLEAN jjBRACK_SM(leftv res, leftv u, leftv v, leftv w)
 
static BOOLEAN jjSUBST_Test(leftv v, leftv w, int &ringvar, poly &monomexpr)
 
static BOOLEAN jjMINUS_I(leftv res, leftv u, leftv v)
 
static BOOLEAN jjJET_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjVARSTR1(leftv res, leftv v)
 
char * iiArithGetCmd(int nPos)
 
static BOOLEAN jjSTATUS_M(leftv res, leftv v)
 
static BOOLEAN jjCALL1ARG(leftv res, leftv v)
 
static BOOLEAN jjLT_BI(leftv res, leftv u, leftv v)
 
static BOOLEAN jjPOWER_P(leftv res, leftv u, leftv v)
 
BOOLEAN jjLIST_PL(leftv res, leftv v)
 
static BOOLEAN jjPLUSMINUS_Gen(leftv res, leftv u, leftv v)
 
static BOOLEAN jjCALL2ARG(leftv res, leftv u)
 
static BOOLEAN jjINDEX_PBu(leftv res, leftv u, leftv v)
 
static int iiTabIndex(const jjValCmdTab dArithTab, const int len, const int op)
 
static BOOLEAN jjSYZYGY(leftv res, leftv v)
 
static BOOLEAN jjPOWER_N(leftv res, leftv u, leftv v)
 
static BOOLEAN jjKLAMMER_PL(leftv res, leftv u)
 
static BOOLEAN jjSUBST_M(leftv res, leftv u)
 
static BOOLEAN jjEQUAL_P(leftv res, leftv u, leftv v)
 
static BOOLEAN jjLU_DECOMP(leftv res, leftv v)
 
static BOOLEAN jjPlural_num_mat(leftv res, leftv a, leftv b)
 
static BOOLEAN jjIDEAL_PL(leftv res, leftv v)
 
static BOOLEAN jjNVARS(leftv res, leftv v)
 
static BOOLEAN jjERROR(leftv, leftv u)
 
static BOOLEAN jjSTATUS2(leftv res, leftv u, leftv v)
 
static BOOLEAN jjALIGN_V(leftv res, leftv u, leftv v)
 
static BOOLEAN jjRINGLIST_C(leftv res, leftv v)
 
BOOLEAN iiConvert(int inputType, int outputType, int index, leftv input, leftv output, const struct sConvertTypes *dConvertTypes)
 
const struct sConvertTypes dConvertTypes[]
 
VAR omBin sip_command_bin
 
lists ipNameListLev(idhdl root, int lev)
 
idhdl enterid(const char *s, int lev, int t, idhdl *root, BOOLEAN init, BOOLEAN search)
 
lists ipNameList(idhdl root)
 
EXTERN_VAR omBin sleftv_bin
 
BOOLEAN load_builtin(const char *newlib, BOOLEAN autoexport, SModulFunc_t init)
 
int(* SModulFunc_t)(SModulFunctions *)
 
BOOLEAN iiLoadLIB(FILE *fp, const char *libnamebuf, const char *newlib, idhdl pl, BOOLEAN autoexport, BOOLEAN tellerror)
 
char * iiConvName(const char *libname)
 
BOOLEAN iiGetLibStatus(const char *lib)
 
BOOLEAN iiMake_proc(idhdl pn, package pack, leftv args)
 
BOOLEAN iiTryLoadLib(leftv v, const char *id)
 
BOOLEAN load_modules(const char *newlib, char *fullname, BOOLEAN autoexport)
 
INST_VAR sleftv iiRETURNEXPR
 
SModulFunc_t iiGetBuiltinModInit(const char *libname)
 
lists rDecompose(const ring r)
 
lists rDecompose_list_cf(const ring r)
 
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 (...
 
ring rInit(leftv pn, leftv rv, leftv ord)
 
leftv iiMap(map theMap, const char *what)
 
int iiRegularity(lists L)
 
BOOLEAN rDecompose_CF(leftv res, const coeffs C)
 
void iiMakeResolv(resolvente r, int length, int rlen, char *name, int typ0, intvec **weights)
 
int exprlist_length(leftv v)
 
BOOLEAN mpKoszul(leftv res, leftv c, leftv b, leftv id)
 
poly iiHighCorner(ideal I, int ak)
 
lists scIndIndset(ideal S, BOOLEAN all, ideal Q)
 
idhdl rFindHdl(ring r, idhdl n)
 
syStrategy syConvList(lists li)
 
ring rCompose(const lists L, const BOOLEAN check_comp, const long bitmask, const int isLetterplace)
 
const char * lastreserved
 
lists syConvRes(syStrategy syzstr, BOOLEAN toDel, int add_row_shift)
 
BOOLEAN iiExport(leftv v, int toLev)
 
const struct sValCmd1 dArith1[]
 
BOOLEAN(* proc3)(leftv, leftv, leftv, leftv)
 
const struct sValCmd2 dArith2[]
 
BOOLEAN(* proc2)(leftv, leftv, leftv)
 
BOOLEAN setOption(leftv res, leftv v)
 
BOOLEAN(* proc1)(leftv, leftv)
 
const struct sValCmdM dArithM[]
 
const struct sValCmd3 dArith3[]
 
ideal id_Farey_0(ideal x, number N, const ring r)
 
ideal id_ChineseRemainder_0(ideal *xx, number *q, int rl, const ring r)
 
ideal kMin_std(ideal F, ideal Q, tHomog h, intvec **w, ideal &M, intvec *hilb, int syzComp, int reduced)
 
ideal kInterRed(ideal F, ideal Q)
 
long kHomModDeg(poly p, ring r)
 
poly kNF(ideal F, ideal Q, poly p, int syzComp, int lazyReduce)
 
ideal kSba(ideal F, ideal Q, tHomog h, intvec **w, int sbaOrder, int arri, intvec *hilb, int syzComp, int newIdeal, intvec *vw)
 
ideal kStd(ideal F, ideal Q, tHomog h, intvec **w, intvec *hilb, int syzComp, int newIdeal, intvec *vw, s_poly_proc_t sp)
 
ideal rightgb(ideal F, ideal Q)
 
poly redNF(poly h, int &max_ind, int nonorm, kStrategy strat)
 
ideal_list kStdfac(ideal F, ideal Q, tHomog h, intvec **w, ideal D)
 
VAR char libnamebuf[1024]
 
static bool rIsSCA(const ring r)
 
ideal idOppose(ring Rop_src, ideal I, const ring Rop_dst)
opposes a module I from Rop to currRing(dst)
 
poly pOppose(ring Rop_src, poly p, const ring Rop_dst)
opposes a vector p from Rop to currRing (dst!)
 
BOOLEAN rIsLikeOpposite(ring rBase, ring rCandidate)
checks whether rings rBase and rCandidate could be opposite to each other returns TRUE if it is so
 
BOOLEAN nc_CallPlural(matrix cc, matrix dd, poly cn, poly dn, ring r, bool bSetupQuotient, bool bCopyInput, bool bBeQuiet, ring curr, bool dummy_ring=false)
returns TRUE if there were errors analyze inputs, check them for consistency detects nc_type,...
 
poly nc_p_Bracket_qq(poly p, const poly q, const ring r)
returns [p,q], destroys p
 
int luRank(const matrix aMat, const bool isRowEchelon, const ring R)
Computes the rank of a given (m x n)-matrix.
 
bool luInverseFromLUDecomp(const matrix pMat, const matrix lMat, const matrix uMat, matrix &iMat, const ring R)
This code computes the inverse by inverting lMat and uMat, and then performing two matrix multiplicat...
 
void henselFactors(const int xIndex, const int yIndex, const poly h, const poly f0, const poly g0, const int d, poly &f, poly &g)
Computes a factorization of a polynomial h(x, y) in K[[x]][y] up to a certain degree in x,...
 
bool luInverse(const matrix aMat, matrix &iMat, const ring R)
This code first computes the LU-decomposition of aMat, and then calls the method for inverting a matr...
 
void luDecomp(const matrix aMat, matrix &pMat, matrix &lMat, matrix &uMat, const ring R)
LU-decomposition of a given (m x n)-matrix.
 
bool luSolveViaLUDecomp(const matrix pMat, const matrix lMat, const matrix uMat, 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 LU-decompositi...
 
lists qrDoubleShift(const matrix A, const number tol1, const number tol2, const number tol3, const ring r=currRing)
Computes all eigenvalues of a given real quadratic matrix with multiplicites.
 
BOOLEAN jjANY2LIST(leftv res, leftv v, int cnt)
 
LINLINE void nlDelete(number *a, const coeffs r)
 
LINLINE number nlInit(long i, const coeffs r)
 
void maFetchPermLP(const ring preimage_r, const ring dst_r, int *perm)
 
void maFindPerm(char const *const *const preim_names, int preim_n, char const *const *const preim_par, int preim_p, char const *const *const names, int n, char const *const *const par, int nop, int *perm, int *par_perm, n_coeffType ch)
 
void maFindPermLP(char const *const *const preim_names, int preim_n, char const *const *const preim_par, int preim_p, char const *const *const names, int n, char const *const *const par, int nop, int *perm, int *par_perm, n_coeffType ch, int lV)
 
poly pSubstPoly(poly p, int var, poly image)
 
ideal idSubstPoly(ideal id, int n, poly e)
 
BOOLEAN maApplyFetch(int what, map theMap, leftv res, leftv w, ring preimage_r, int *perm, int *par_perm, int P, nMapFunc nMap)
 
ideal idSubstPar(ideal id, int n, poly e)
 
poly pSubstPar(poly p, int par, poly image)
 
BOOLEAN mp_IsDiagUnit(matrix U, const ring R)
 
matrix mp_Wedge(matrix a, int ar, const ring R)
 
matrix mp_Transp(matrix a, const ring R)
 
ideal sm_Tensor(ideal A, ideal B, const ring r)
 
ideal sm_Add(ideal a, ideal b, const ring R)
 
matrix mp_CoeffProc(poly f, poly vars, const ring R)
 
matrix pMultMp(poly p, matrix a, const ring R)
 
void mp_Monomials(matrix c, int r, int var, matrix m, const ring R)
 
DetVariant mp_GetAlgorithmDet(matrix m, const ring r)
 
matrix mp_CoeffProcId(ideal I, poly vars, const ring R)
 
poly sm_Det(ideal a, const ring r, DetVariant d)
 
matrix mp_MultI(matrix a, long f, const ring R)
c = f*a
 
ideal sm_Sub(ideal a, ideal b, const ring R)
 
ideal sm_Mult(ideal a, ideal b, const ring R)
 
matrix mp_Sub(matrix a, matrix b, const ring R)
 
poly mp_Det(matrix a, const ring r, DetVariant d)
 
matrix mpNew(int r, int c)
create a r x c zero-matrix
 
int mp_Compare(matrix a, matrix b, const ring R)
 
BOOLEAN sm_Equal(ideal a, ideal b, const ring R)
 
matrix mp_Mult(matrix a, matrix b, const ring R)
 
BOOLEAN mp_Equal(matrix a, matrix b, const ring R)
 
matrix mp_Coeffs(ideal I, int var, const ring R)
corresponds to Maple's coeffs: var has to be the number of a variable
 
void mp_Coef2(poly v, poly mon, matrix *c, matrix *m, const ring R)
corresponds to Macauley's coef: the exponent vector of vars has to contain the variables,...
 
matrix mp_MultP(matrix a, poly p, const ring R)
multiply a matrix 'a' by a poly 'p', destroy the args
 
matrix mp_Copy(matrix a, const ring r)
copies matrix a (from ring r to r)
 
matrix mp_Add(matrix a, matrix b, const ring R)
 
matrix mp_InitP(int r, int c, poly p, const ring R)
make it a p * unit matrix
 
poly mp_Trace(matrix a, const ring R)
 
#define MATELEM(mat, i, j)
1-based access to matrix
 
lists primeFactorisation(const number n, const int pBound)
Factorises a given bigint number n into its prime factors less than or equal to a given bound,...
 
This file provides miscellaneous functionality.
 
lib_types type_of_LIB(const char *newlib, char *libnamebuf)
 
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
 
BOOLEAN nuLagSolve(leftv res, leftv arg1, leftv arg2, leftv arg3)
find the (complex) roots an univariate polynomial Determines the roots of an univariate polynomial us...
 
The main handler for Singular numbers which are suitable for Singular polynomials.
 
ideal twostd(ideal I)
Compute two-sided GB:
 
void newstruct_setup(const char *n, newstruct_desc d)
 
newstruct_desc newstructChildFromString(const char *parent, const char *s)
 
newstruct_desc newstructFromString(const char *s)
 
CanonicalForm ndConvSingNFactoryN(number, BOOLEAN, const coeffs)
 
#define nPower(a, b, res)
 
#define omFreeSize(addr, size)
 
#define omRealloc(addr, size)
 
#define omFreeBin(addr, bin)
 
#define omFreeBinAddr(addr)
 
#define SI_RESTORE_OPT1(A)
 
#define SI_RESTORE_OPT2(A)
 
#define TEST_OPT_DEGBOUND
 
#define TEST_OPT_RETURN_SB
 
static int index(p_Length length, p_Ord ord)
 
void pRestoreDegProcs(ring r, pFDegProc old_FDeg, pLDegProc old_lDeg)
 
poly p_Homogen(poly p, int varnum, const ring r)
 
poly pp_DivideM(poly a, poly b, const ring r)
 
void p_Shift(poly *p, int i, const ring r)
shifts components of the vector p by i
 
void p_Normalize(poly p, const ring r)
 
int p_MaxExpPerVar(poly p, int i, const ring r)
max exponent of variable x_i in p
 
int p_Compare(const poly a, const poly b, const ring R)
 
poly p_Series(int n, poly p, poly u, intvec *w, const ring R)
 
long p_DegW(poly p, const int *w, const ring R)
 
poly p_Cleardenom(poly p, const ring r)
 
poly p_Vec2Poly(poly v, int k, const ring r)
 
void p_SetModDeg(intvec *w, ring r)
 
void pSetDegProcs(ring r, pFDegProc new_FDeg, pLDegProc new_lDeg)
 
long p_Deg(poly a, const ring r)
 
static poly p_Neg(poly p, const ring r)
 
static int pLength(poly a)
 
static long p_MinComp(poly p, ring lmRing, ring tailRing)
 
static void p_Delete(poly *p, const ring r)
 
static poly pp_Mult_qq(poly p, poly q, const ring r)
 
static long p_Totaldegree(poly p, const ring r)
 
void rChangeCurrRing(ring r)
 
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
 
poly pp_Divide(poly p, poly q, const ring r)
polynomial division a/b, ignoring the rest via singclap_pdivide resp. idLift does not destroy a,...
 
poly singclap_gcd(poly f, poly g, const ring r)
polynomial gcd via singclap_gcd_r resp. idSyzygies destroys f and g
 
Compatibility layer for legacy polynomial operations (over currRing)
 
static long pTotaldegree(poly p)
 
#define pHead(p)
returns newly allocated copy of Lm(p), coef is copied, next=NULL, p might be NULL
 
#define pIsConstant(p)
like above, except that Comp must be 0
 
#define pGetComp(p)
Component.
 
#define pSetCoeff(p, n)
deletes old coeff before setting the new one
 
#define pLmInit(p)
like pInit, except that expvector is initialized to that of p, p must be != NULL
 
#define pIsUnit(p)
return true if the Lm is a constant <>0
 
#define pLmDelete(p)
assume p != NULL, deletes Lm(p)->coef and Lm(p)
 
static void pLmFree(poly p)
frees the space of the monomial m, assumes m != NULL coef is not freed, m is not advanced
 
#define pSeries(n, p, u, w)
 
#define pGetExp(p, i)
Exponent.
 
#define pInit()
allocates a new monomial and initializes everything to 0
 
#define pEqualPolys(p1, p2)
 
#define pLmCmp(p, q)
returns 0|1|-1 if p=q|p>q|p<q w.r.t monomial ordering
 
#define pCopy(p)
return a copy of the poly
 
#define pLmFreeAndNext(p)
assumes p != NULL, deletes p, returns pNext(p)
 
ideal maGetPreimage(ring theImageRing, map theMap, ideal id, const ring dst_r)
 
const char feNotImplemented[]
 
void PrintS(const char *s)
 
void Werror(const char *fmt,...)
 
int rSum(ring r1, ring r2, ring &sum)
 
int r_IsRingVar(const char *n, char **names, int N)
 
ring rMinusVar(const ring r, char *v)
undo rPlusVar
 
BOOLEAN rSamePolyRep(ring r1, ring r2)
returns TRUE, if r1 and r2 represents the monomials in the same way FALSE, otherwise this is an analo...
 
char * rCharStr(const ring r)
TODO: make it a virtual method of coeffs, together with: Decompose & Compose, rParameter & rPar.
 
void rDelete(ring r)
unconditionally deletes fields in r
 
ring rDefault(const coeffs cf, int N, char **n, int ord_size, rRingOrder_t *ord, int *block0, int *block1, int **wvhdl, unsigned long bitmask)
 
ring rPlusVar(const ring r, char *v, int left)
K[x],"y" -> K[x,y] resp. K[y,x].
 
int n_IsParam(const number m, const ring r)
TODO: rewrite somehow...
 
static BOOLEAN rField_is_Zp_a(const ring r)
 
static BOOLEAN rField_is_Z(const ring r)
 
static BOOLEAN rField_is_Zp(const ring r)
 
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
 
long(* pFDegProc)(poly p, ring r)
 
static ring rIncRefCnt(ring r)
 
static BOOLEAN rField_is_Domain(const ring r)
 
long(* pLDegProc)(poly p, int *length, ring r)
 
static int rPar(const ring r)
(r->cf->P)
 
static BOOLEAN rIsLPRing(const ring r)
 
static BOOLEAN rField_is_Q(const ring r)
 
static char const ** rParameter(const ring r)
(r->cf->parameter)
 
static BOOLEAN rField_is_numeric(const ring r)
 
BOOLEAN rHasMixedOrdering(const ring r)
 
static BOOLEAN rField_is_GF(const ring r)
 
static short rVar(const ring r)
#define rVar(r) (r->N)
 
BOOLEAN rHasLocalOrMixedOrdering(const ring r)
 
#define rField_is_Ring(R)
 
void sBucket_Add_p(sBucket_pt bucket, poly p, int length)
adds poly p to bucket destroys p!
 
void sBucketCanonicalize(sBucket_pt bucket)
 
sBucket_pt sBucketCreate(const ring r)
 
poly sBucketPeek(sBucket_pt b)
 
void sBucketDestroyAdd(sBucket_pt bucket, poly *p, int *length)
 
BOOLEAN sdb_set_breakpoint(const char *pp, int given_lineno)
 
BOOLEAN slPrepClose(si_link l)
 
leftv slRead(si_link l, leftv a)
 
BOOLEAN slDump(si_link l)
 
BOOLEAN slGetDump(si_link l)
 
const char * slStatus(si_link l, const char *request)
 
BOOLEAN slClose(si_link l)
 
BOOLEAN slOpen(si_link l, short flag, leftv h)
 
int slStatusSsiL(lists L, int timeout)
 
#define SI_LINK_SET_CLOSE_P(l)
 
ideal id_Vec2Ideal(poly vec, const ring R)
 
ideal idInit(int idsize, int rank)
initialise an ideal / module
 
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
 
void id_Norm(ideal id, const ring r)
ideal id = (id[i]), result is leadcoeff(id[i]) = 1
 
BOOLEAN id_HomModuleW(ideal id, ideal Q, const intvec *w, const intvec *module_w, const ring r)
 
void id_Normalize(ideal I, const ring r)
normialize all polys in id
 
ideal id_Transp(ideal a, const ring rRing)
transpose a module
 
ideal id_FreeModule(int i, const ring r)
the free module of rank i
 
ideal id_Homogen(ideal h, int varnum, const ring r)
 
ideal id_Power(ideal given, int exp, const ring r)
 
matrix id_Module2Matrix(ideal mod, const ring R)
 
ideal id_Head(ideal h, const ring r)
returns the ideals of initial terms
 
BOOLEAN id_HomIdealW(ideal id, ideal Q, const intvec *w, const ring r)
 
long id_RankFreeModule(ideal s, ring lmRing, ring tailRing)
return the maximal component number found in any polynomial in s
 
void id_DelDiv(ideal id, const ring r)
delete id[j], if LT(j) == coeff*mon*LT(i) and vice versa, i.e., delete id[i], if LT(i) == coeff*mon*L...
 
void id_DelMultiples(ideal id, const ring r)
ideal id = (id[i]), c any unit if id[i] = c*id[j] then id[j] is deleted for j > i
 
matrix id_Module2formatedMatrix(ideal mod, int rows, int cols, const ring R)
 
ideal id_Matrix2Module(matrix mat, const ring R)
converts mat to module, destroys mat
 
ideal id_ResizeModule(ideal mod, int rows, int cols, const ring R)
 
ideal id_Delete_Pos(const ideal I, const int p, const ring r)
 
void id_DelEquals(ideal id, const ring r)
ideal id = (id[i]) if id[i] = id[j] then id[j] is deleted for j > i
 
ideal id_Jet(const ideal i, int d, const ring R)
 
void id_DelLmEquals(ideal id, const ring r)
Delete id[j], if Lm(j) == Lm(i) and both LC(j), LC(i) are units and j > i.
 
ideal id_JetW(const ideal i, int d, intvec *iv, const ring R)
 
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
 
void id_Shift(ideal M, int s, const ring r)
 
ideal id_ChineseRemainder(ideal *xx, number *q, int rl, const ring r)
 
ideal id_Subst(ideal id, int n, poly e, const ring r)
 
static int idElem(const ideal F)
number of non-zero polys in F
 
void sm_CallBareiss(ideal I, int x, int y, ideal &M, intvec **iv, const ring R)
 
ideal sm_CallSolv(ideal I, const ring R)
 
EXTERN_VAR omBin char_ptr_bin
 
void syMake(leftv v, const char *id, package pa)
 
INST_VAR sleftv sLastPrinted
 
BOOLEAN assumeStdFlag(leftv h)
 
resolvente syResolvente(ideal arg, int maxlength, int *length, intvec ***weights, BOOLEAN minim)
 
syStrategy syResolution(ideal arg, int maxlength, intvec *w, BOOLEAN minim)
 
ideal syMinBase(ideal arg)
 
syStrategy syHilb(ideal arg, int *length)
 
resolvente sySchreyerResolvente(ideal arg, int maxlength, int *length, BOOLEAN isMonomial=FALSE, BOOLEAN notReplace=FALSE)
 
syStrategy sySchreyer(ideal arg, int maxlength)
 
int syDim(syStrategy syzstr)
 
syStrategy syMinimize(syStrategy syzstr)
 
syStrategy syKosz(ideal arg, int *length)
 
int sySize(syStrategy syzstr)
 
syStrategy syFrank(const ideal arg, const int length, const char *method, const bool use_cache=true, const bool use_tensor_trick=false)
 
syStrategy syLaScala3(ideal arg, int *length)
 
ideal t_rep_gb(const ring r, ideal arg_I, int syz_comp, BOOLEAN F4_mode)
 
number ntDiff(number a, number d, const coeffs cf)
 
ideal fractalWalkProc(leftv first, leftv second)
 
ideal walkProc(leftv first, leftv second)
 
int * iv2array(intvec *iv, const ring R)
 
BOOLEAN jjStdJanetBasis(leftv res, leftv v, int flag)
flag: 0: JB, 1: SB
 
#define omPrintBinStats(F)