
/*****************************************************************************\

MODULE: vec_ZZ

SUMMARY:

Defines the class vector(ZZ).

\*****************************************************************************/

vector_decl(ZZ)

vector_eq_decl(ZZ)
// == and !=

vector_io_decl(ZZ)
// I/O operators

void mul(vector(ZZ)& x, const vector(ZZ)& a, const ZZ& b);
// x = a * b

void add(vector(ZZ)& x, const vector(ZZ)& a, const vector(ZZ)& b);
// x = a + b

void sub(vector(ZZ)& x, const vector(ZZ)& a, const vector(ZZ)& b);
// x = a - b

void clear(vector(ZZ)& x);
// x = 0 (length unchanged)

void negate(vector(ZZ)& x, const vector(ZZ)& a);
// x = -a


void InnerProduct(ZZ& x, const vector(ZZ)& a, const vector(ZZ)& b);
// x = inner product of a and b, padded with zeros to make
//     the lengths even.

