Frobby
0.9.0
src
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
BigIntVector::_entries
vector< mpz_class > _entries
Definition:
BigIntVector.h:42
BigIntVector::resize
void resize(size_t size)
Definition:
BigIntVector.h:39
BigIntVector::operator[]
mpz_class & operator[](size_t i)
Definition:
BigIntVector.h:28
BigIntVector
Definition:
BigIntVector.h:24
BigIntVector::getSize
size_t getSize() const
Definition:
BigIntVector.h:38
BigIntVector::BigIntVector
BigIntVector(size_t size)
Definition:
BigIntVector.h:26
BigIntVector::operator[]
const mpz_class & operator[](size_t i) const
Definition:
BigIntVector.h:33
operator==
bool operator==(const BigIntVector &a, const BigIntVector &b)
Definition:
BigIntVector.cpp:21
ASSERT
#define ASSERT(X)
Definition:
stdinc.h:85
operator<<
ostream & operator<<(ostream &out, const BigIntVector &v)
Definition:
BigIntVector.cpp:30
Generated by
1.8.17