44 for (
int i=row*col-1;
i>=0;
i--)
52 void resize(
int new_length);
54 {
return ((i<row) && (i>=0) && (col==1)); }
56 {
return ((i<row) && (i>=0) && (j<col) && (j>=0)); }
60 if((i<0)||(i>=row*col))
62 Werror(
"wrong intvec index:%d\n",i);
70 if((i<0)||(i>=row*col))
72 Werror(
"wrong intvec index:%d\n",i);
77 #define IMATELEM(M,I,J) (M)[(I-1)*(M).cols()+J-1] 89 inline void length(
int l) { row =
l; col = 1; }
90 void show(
int mat=0,
int spaces=0)
const;
97 char *
ivString(
int not_mat=1,
int spaces=0,
int dim=2)
const;
120 for (
int i=row*col-1;
i>0;
i--)
if (v[
i]<m) m=v[
i];
126 void*
operator new (
size_t size )
133 void operator delete (
void*
block )
165 #define ivTest(v) do {} while (0) intvec * ivConcat(intvec *a, intvec *b)
void operator-=(int intop)
const CanonicalForm int s
#define omCheckAddrSize(addr, size)
void resize(int new_length)
int range(int i, int j) 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)
char * String(int dim=2) const
void operator%=(int intop)
void operator*=(int intop)
int compare(const intvec *o) const
const int & operator[](int i) const
intvec * ivTranp(intvec *o)
char * ivString(int not_mat=1, int spaces=0, int dim=2) const
intvec * ivSolveKern(intvec *imat, int ready)
intvec * ivMult(intvec *a, intvec *b)
void show(int mat=0, int spaces=0) const
#define omFreeBin(addr, bin)
void Werror(const char *fmt,...)