Dynare++: various simplifications

time-shift
Sébastien Villemot 2019-02-20 14:36:35 +01:00
parent 02d6f86487
commit 9e1df25580
No known key found for this signature in database
GPG Key ID: 2CECE9350ECEBE4A
5 changed files with 41 additions and 64 deletions

View File

@ -29,14 +29,12 @@ FFSTensor::FFSTensor(const FFSTensor &t, const ConstVector &x)
zeros();
for (Tensor::index to = begin(); to != end(); ++to)
{
for (int i = 0; i < nvar(); i++)
{
IntSequence from_ind(i, to.getCoor());
Tensor::index from(t, from_ind);
addColumn(x[i], t, *from, *to);
}
}
for (int i = 0; i < nvar(); i++)
{
IntSequence from_ind(i, to.getCoor());
Tensor::index from(t, from_ind);
addColumn(x[i], t, *from, *to);
}
}
/* This returns number of indices for folded tensor with full

View File

@ -59,9 +59,8 @@ public:
}
FFSTensor(const FFSTensor &t, const ConstVector &x);
FFSTensor(const FSSparseTensor &t);
FFSTensor(const FFSTensor &ft)
= default;
FFSTensor(const FFSTensor &) = default;
FFSTensor(FFSTensor &&) = default;
FFSTensor(const UFSTensor &ut);
FFSTensor(int first_row, int num, FFSTensor &t)
: FTensor(first_row, num, t), nv(t.nv)
@ -103,9 +102,8 @@ public:
{
}
UFSTensor(const UFSTensor &t, const ConstVector &x);
UFSTensor(const UFSTensor &ut)
= default;
UFSTensor(const UFSTensor &) = default;
UFSTensor(UFSTensor &&) = default;
UFSTensor(const FFSTensor &ft);
UFSTensor(int first_row, int num, UFSTensor &t)
: UTensor(first_row, num, t), nv(t.nv)

View File

@ -68,15 +68,12 @@ public:
{
nvs[0] = nvar;
}
TensorDimens(const TensorDimens &td)
= default;
virtual ~TensorDimens()
= default;
TensorDimens(const TensorDimens &) = default;
TensorDimens(TensorDimens &&) = default;
virtual ~TensorDimens() = default;
TensorDimens(const IntSequence &ss, const IntSequence &coor);
TensorDimens &
operator=(const TensorDimens &td)
= default;
TensorDimens &operator=(const TensorDimens &) = default;
TensorDimens &operator=(TensorDimens &&) = default;
bool
operator==(const TensorDimens &td) const
{
@ -151,9 +148,8 @@ public:
td.calcFoldMaxOffset(), td.dimen()), tdims(td)
{
}
FGSTensor(const FGSTensor &ft)
= default;
FGSTensor(const FGSTensor &) = default;
FGSTensor(FGSTensor &&) = default;
FGSTensor(const UGSTensor &ut);
FGSTensor(int first_row, int num, FGSTensor &t)
: FTensor(first_row, num, t), tdims(t.tdims)
@ -169,8 +165,7 @@ public:
{
}
~FGSTensor()
override = default;
~FGSTensor() override = default;
void increment(IntSequence &v) const override;
void
@ -220,9 +215,8 @@ public:
td.calcUnfoldMaxOffset(), td.dimen()), tdims(td)
{
}
UGSTensor(const UGSTensor &ut)
= default;
UGSTensor(const UGSTensor &) = default;
UGSTensor(UGSTensor &&) = default;
UGSTensor(const FGSTensor &ft);
UGSTensor(int first_row, int num, UGSTensor &t)
@ -237,8 +231,7 @@ public:
: UTensor(0, t.nrows(), t), tdims(t.nvar(), t.dimen())
{
}
~UGSTensor()
override = default;
~UGSTensor() override = default;
void increment(IntSequence &v) const override;
void decrement(IntSequence &v) const override;

View File

@ -108,12 +108,10 @@ public:
{
per.apply(nvmax);
}
PerTensorDimens(const PerTensorDimens &td)
= default;
PerTensorDimens &
operator=(const PerTensorDimens &td)
= default;
PerTensorDimens(const PerTensorDimens &) = default;
PerTensorDimens(PerTensorDimens &&) = default;
PerTensorDimens &operator=(const PerTensorDimens &) = default;
PerTensorDimens &operator=(PerTensorDimens &&) = default;
bool
operator==(const PerTensorDimens &td)
{
@ -200,9 +198,8 @@ public:
}
UPSTensor(const FSSparseTensor &t, const IntSequence &ss,
const IntSequence &coor, const PerTensorDimens &ptd);
UPSTensor(const UPSTensor &ut)
= default;
UPSTensor(const UPSTensor &) = default;
UPSTensor(UPSTensor &&) = default;
void increment(IntSequence &v) const override;
void decrement(IntSequence &v) const override;
@ -364,9 +361,8 @@ public:
FPSTensor(const TensorDimens &td, const Equivalence &e, const Permutation &p,
const GSSparseTensor &t, const KronProdAll &kp);
FPSTensor(const FPSTensor &ft)
= default;
FPSTensor(const FPSTensor &) = default;
FPSTensor(FPSTensor &&) = default;
void increment(IntSequence &v) const override;
void decrement(IntSequence &v) const override;

View File

@ -52,13 +52,11 @@ public:
UFSTensor::calcMaxOffset(nvar, d), c, d), nv(nvar)
{
}
URTensor(const URTensor &ut)
= default;
URTensor(const URTensor &) = default;
URTensor(URTensor &&) = default;
URTensor(const FRTensor &ft);
~URTensor()
override = default;
~URTensor() override = default;
void increment(IntSequence &v) const override;
void decrement(IntSequence &v) const override;
@ -88,13 +86,11 @@ public:
FFSTensor::calcMaxOffset(nvar, d), c, d), nv(nvar)
{
}
FRTensor(const FRTensor &ft)
= default;
FRTensor(const FRTensor &) = default;
FRTensor(FRTensor &&) = default;
FRTensor(const URTensor &ut);
~FRTensor()
override = default;
~FRTensor() override = default;
void increment(IntSequence &v) const override;
void decrement(IntSequence &v) const override;
@ -133,11 +129,9 @@ public:
}
URSingleTensor(const std::vector<ConstVector> &cols);
URSingleTensor(const ConstVector &v, int d);
URSingleTensor(const URSingleTensor &ut)
= default;
~URSingleTensor()
override = default;
URSingleTensor(const URSingleTensor &) = default;
URSingleTensor(URSingleTensor &&) = default;
~URSingleTensor() override = default;
std::unique_ptr<FTensor> fold() const override;
};
@ -155,11 +149,9 @@ public:
{
}
FRSingleTensor(const URSingleTensor &ut);
FRSingleTensor(const FRSingleTensor &ft)
= default;
~FRSingleTensor()
override = default;
FRSingleTensor(const FRSingleTensor &) = default;
FRSingleTensor(FRSingleTensor &&) = default;
~FRSingleTensor() override = default;
};
#endif