Dynare++: make the sparse tensors assignable
parent
8751de896b
commit
82e7f9250d
|
@ -115,12 +115,6 @@ FSSparseTensor::FSSparseTensor(int d, int nvar, int r)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
FSSparseTensor::FSSparseTensor(const FSSparseTensor &t)
|
|
||||||
: SparseTensor(t),
|
|
||||||
nv(t.nvar()), sym(t.sym)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
FSSparseTensor::insert(const IntSequence &key, int r, double c)
|
FSSparseTensor::insert(const IntSequence &key, int r, double c)
|
||||||
{
|
{
|
||||||
|
|
|
@ -55,9 +55,9 @@ protected:
|
||||||
using iterator = Map::iterator;
|
using iterator = Map::iterator;
|
||||||
|
|
||||||
Map m;
|
Map m;
|
||||||
const int dim;
|
int dim;
|
||||||
const int nr;
|
int nr;
|
||||||
const int nc;
|
int nc;
|
||||||
int first_nz_row;
|
int first_nz_row;
|
||||||
int last_nz_row;
|
int last_nz_row;
|
||||||
public:
|
public:
|
||||||
|
@ -65,12 +65,6 @@ public:
|
||||||
: dim(d), nr(nnr), nc(nnc), first_nz_row(nr), last_nz_row(-1)
|
: dim(d), nr(nnr), nc(nnc), first_nz_row(nr), last_nz_row(-1)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
SparseTensor(const SparseTensor &t)
|
|
||||||
: m(t.m), dim(t.dim), nr(t.nr), nc(t.nc)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
virtual ~SparseTensor()
|
|
||||||
= default;
|
|
||||||
void insert(const IntSequence &s, int r, double c);
|
void insert(const IntSequence &s, int r, double c);
|
||||||
const Map &
|
const Map &
|
||||||
getMap() const
|
getMap() const
|
||||||
|
@ -128,11 +122,10 @@ class FSSparseTensor : public SparseTensor
|
||||||
public:
|
public:
|
||||||
using const_iterator = SparseTensor::const_iterator;
|
using const_iterator = SparseTensor::const_iterator;
|
||||||
private:
|
private:
|
||||||
const int nv;
|
int nv;
|
||||||
const Symmetry sym;
|
Symmetry sym;
|
||||||
public:
|
public:
|
||||||
FSSparseTensor(int d, int nvar, int r);
|
FSSparseTensor(int d, int nvar, int r);
|
||||||
FSSparseTensor(const FSSparseTensor &t);
|
|
||||||
void insert(const IntSequence &s, int r, double c);
|
void insert(const IntSequence &s, int r, double c);
|
||||||
void multColumnAndAdd(const Tensor &t, Vector &v) const;
|
void multColumnAndAdd(const Tensor &t, Vector &v) const;
|
||||||
const Symmetry &
|
const Symmetry &
|
||||||
|
@ -158,13 +151,10 @@ class GSSparseTensor : public SparseTensor
|
||||||
public:
|
public:
|
||||||
using const_iterator = SparseTensor::const_iterator;
|
using const_iterator = SparseTensor::const_iterator;
|
||||||
private:
|
private:
|
||||||
const TensorDimens tdims;
|
TensorDimens tdims;
|
||||||
public:
|
public:
|
||||||
GSSparseTensor(const FSSparseTensor &t, const IntSequence &ss,
|
GSSparseTensor(const FSSparseTensor &t, const IntSequence &ss,
|
||||||
const IntSequence &coor, const TensorDimens &td);
|
const IntSequence &coor, const TensorDimens &td);
|
||||||
GSSparseTensor(const GSSparseTensor &t)
|
|
||||||
|
|
||||||
= default;
|
|
||||||
void insert(const IntSequence &s, int r, double c);
|
void insert(const IntSequence &s, int r, double c);
|
||||||
const Symmetry &
|
const Symmetry &
|
||||||
getSym() const override
|
getSym() const override
|
||||||
|
|
Loading…
Reference in New Issue