Frobby  0.9.5
BigIntVector.h
Go to the documentation of this file.
1 /* Frobby: Software for monomial ideal computations.
2  Copyright (C) 2010 University of Aarhus
3  Contact Bjarke Hammersholt Roune for license information (www.broune.com)
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program. If not, see http://www.gnu.org/licenses/.
17 */
18 #ifndef BIG_INT_VECTOR_GUARD
19 #define BIG_INT_VECTOR_GUARD
20 
21 #include <vector>
22 #include <ostream>
23 
24 class BigIntVector {
25  public:
26  BigIntVector(size_t size): _entries(size) {}
27 
28  mpz_class& operator[](size_t i) {
29  ASSERT(i < getSize());
30  return _entries[i];
31  }
32 
33  const mpz_class& operator[](size_t i) const {
34  ASSERT(i < getSize());
35  return _entries[i];
36  }
37 
38  size_t getSize() const {return _entries.size();}
39  void resize(size_t size) {_entries.resize(size);}
40 
41  private:
42  vector<mpz_class> _entries;
43 };
44 
45 bool operator==(const BigIntVector& a, const BigIntVector& b);
46 ostream& operator<<(ostream& out, const BigIntVector& v);
47 
48 #endif
bool operator==(const BigIntVector &a, const BigIntVector &b)
ostream & operator<<(ostream &out, const BigIntVector &v)
size_t getSize() const
Definition: BigIntVector.h:38
const mpz_class & operator[](size_t i) const
Definition: BigIntVector.h:33
BigIntVector(size_t size)
Definition: BigIntVector.h:26
vector< mpz_class > _entries
Definition: BigIntVector.h:42
mpz_class & operator[](size_t i)
Definition: BigIntVector.h:28
void resize(size_t size)
Definition: BigIntVector.h:39
#define ASSERT(X)
Definition: stdinc.h:86