39 intvec(
int r,
int c,
int init);
50 for (
int i=row*col-1;
i>=0;
i--)
58 void resize(
int new_length);
61 {
return ((((
unsigned)
i)<((
unsigned)row)) && (col==1)); }
64 {
return ((((
unsigned)
i)<((
unsigned)row)) && (((
unsigned)
j)<((
unsigned)col))); }
68 if((i<0)||(i>=row*col))
70 Werror(
"wrong intvec index:%d\n",i);
78 if((i<0)||(i>=row*col))
80 Werror(
"wrong intvec index:%d\n",i);
85 #define IMATELEM(M,I,J) (M)[(I-1)*(M).cols()+J-1] 97 void show(
int mat=0,
int spaces=0)
const;
104 char *
ivString(
int not_mat=1,
int spaces=0,
int dim=2)
const;
127 for (
int i=row*col-1;
i>0;
i--)
if (v[
i]<m) m=v[
i];
158 #define ivTest(v) do {} while (0) intvec * ivConcat(intvec *a, intvec *b)
int compare(const intvec *o) const
int range(int i, int j) const
void operator-=(int intop)
const CanonicalForm int s
#define omCheckAddrSize(addr, size)
void resize(int new_length)
char * ivString(int not_mat=1, int spaces=0, int dim=2) const
intvec * ivAdd(intvec *a, intvec *b)
#define omFreeSize(addr, size)
intvec * ivCopy(const intvec *o)
void operator/=(int intop)
void ivTriangIntern(intvec *imat, int &ready, int &all)
intvec * ivSub(intvec *a, intvec *b)
void operator+=(int intop)
void operator%=(int intop)
void operator*=(int intop)
const int & operator[](int i) const
char * String(int dim=2) const
intvec * ivTranp(intvec *o)
intvec * ivSolveKern(intvec *imat, int ready)
void show(int mat=0, int spaces=0) const
intvec * ivMult(intvec *a, intvec *b)
intvec * delete_pos(int p)
void Werror(const char *fmt,...)