mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-09 21:50:45 +01:00
Guesser class is redundant, switching to LinearFunction
This commit is contained in:
parent
920b471761
commit
6d1d28955e
@ -31,21 +31,13 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
|
|||||||
namespace Grid {
|
namespace Grid {
|
||||||
|
|
||||||
template<class Field>
|
template<class Field>
|
||||||
class Guesser {
|
class ZeroGuesser: public LinearFunction<Field> {
|
||||||
public:
|
|
||||||
Guesser(void) = default;
|
|
||||||
virtual ~Guesser(void) = default;
|
|
||||||
virtual void operator()(const Field &src, Field &guess) = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
template<class Field>
|
|
||||||
class ZeroGuesser: public Guesser<Field> {
|
|
||||||
public:
|
public:
|
||||||
virtual void operator()(const Field &src, Field &guess) { guess = zero; };
|
virtual void operator()(const Field &src, Field &guess) { guess = zero; };
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class Field>
|
template<class Field>
|
||||||
class SourceGuesser: public Guesser<Field> {
|
class SourceGuesser: public LinearFunction<Field> {
|
||||||
public:
|
public:
|
||||||
virtual void operator()(const Field &src, Field &guess) { guess = src; };
|
virtual void operator()(const Field &src, Field &guess) { guess = src; };
|
||||||
};
|
};
|
||||||
@ -54,7 +46,7 @@ public:
|
|||||||
// Fine grid deflation
|
// Fine grid deflation
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
template<class Field>
|
template<class Field>
|
||||||
class DeflatedGuesser: public Guesser<Field> {
|
class DeflatedGuesser: public LinearFunction<Field> {
|
||||||
private:
|
private:
|
||||||
const std::vector<Field> &evec;
|
const std::vector<Field> &evec;
|
||||||
const std::vector<RealD> &eval;
|
const std::vector<RealD> &eval;
|
||||||
@ -76,7 +68,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
template<class FineField, class CoarseField>
|
template<class FineField, class CoarseField>
|
||||||
class LocalCoherenceDeflatedGuesser: public Guesser<FineField> {
|
class LocalCoherenceDeflatedGuesser: public LinearFunction<FineField> {
|
||||||
private:
|
private:
|
||||||
const std::vector<FineField> &subspace;
|
const std::vector<FineField> &subspace;
|
||||||
const std::vector<CoarseField> &evec_coarse;
|
const std::vector<CoarseField> &evec_coarse;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user