Bridge++
Ver. 2.0.2
aprecond_Mixedprec.h
Go to the documentation of this file.
1
#ifndef APRECOND_MIXEDPREC_H
2
#define APRECOND_MIXEDPREC_H
3
4
#include <cstdio>
5
#include <cstdlib>
6
7
#include <string>
8
using
std::string;
9
#include <vector>
10
using
std::vector;
11
12
#include "
lib/Parameters/commonParameters.h
"
13
#include "
lib/Fopr/afopr.h
"
14
#include "
lib/IO/bridgeIO.h
"
15
using
Bridge::vout
;
16
17
#include "
lib_alt/Solver/aprecond.h
"
18
19
#include "
lib_alt/Field/afield_base.h
"
20
21
// temporary
22
#include "
lib_alt/Solver/asolver_BiCGStab.h
"
23
24
25
class
Field
;
26
27
template
<
typename
AFIELD,
typename
AFIELD2>
28
class
APrecond_Mixedprec
:
public
APrecond
<AFIELD>
29
{
30
public
:
31
typedef
typename
AFIELD::real_t
real_t
;
32
typedef
typename
AFIELD2::real_t
real_t2
;
33
static
const
std::string
class_name
;
34
35
enum
field_type
{
LEXICAL
,
EVEN_ODD
};
36
37
private
:
38
ASolver<AFIELD2>
*
m_solver
;
39
AFIELD2
m_v2
,
m_w2
;
40
41
field_type
m_field_type
;
42
43
double
m_accum_flop
;
44
45
public
:
46
47
APrecond_Mixedprec
(
ASolver<AFIELD2>
*
solver
)
48
{
49
m_solver
=
solver
;
50
init
();
51
}
52
54
~APrecond_Mixedprec
()
55
{
56
tidyup
();
57
}
58
59
void
mult
(
AFIELD
&,
const
AFIELD
&);
60
61
void
reset_flop_count
();
62
63
double
flop_count
();
64
65
private
:
66
void
init
();
67
void
tidyup
();
68
};
69
70
#endif // APRECOND_MIXEDPREC_H
APrecond_Mixedprec::LEXICAL
@ LEXICAL
Definition:
aprecond_Mixedprec.h:35
bridgeIO.h
ASolver< AFIELD2 >
afield_base.h
asolver_BiCGStab.h
APrecond
Definition:
aprecond.h:28
APrecond_Mixedprec::~APrecond_Mixedprec
~APrecond_Mixedprec()
Definition:
aprecond_Mixedprec.h:54
APrecond_Mixedprec::tidyup
void tidyup()
Definition:
aprecond_Mixedprec-tmpl.h:46
APrecond_Mixedprec::m_v2
AFIELD2 m_v2
Definition:
aprecond_Mixedprec.h:39
APrecond_Mixedprec::m_w2
AFIELD2 m_w2
Definition:
aprecond_Mixedprec.h:39
APrecond_Mixedprec::reset_flop_count
void reset_flop_count()
Definition:
aprecond_Mixedprec-tmpl.h:112
real_t
double real_t
Definition:
bridgeQXS_Clover_coarse_double.cpp:16
Field::real_t
double real_t
Definition:
field.h:51
APrecond_Mixedprec::real_t2
AFIELD2::real_t real_t2
Definition:
aprecond_Mixedprec.h:32
APrecond_Mixedprec::m_accum_flop
double m_accum_flop
Definition:
aprecond_Mixedprec.h:43
APrecond_Mixedprec::field_type
field_type
Definition:
aprecond_Mixedprec.h:35
APrecond_Mixedprec::real_t
AFIELD::real_t real_t
Definition:
aprecond_Mixedprec.h:31
APrecond_Mixedprec::m_field_type
field_type m_field_type
Definition:
aprecond_Mixedprec.h:41
APrecond_Mixedprec::flop_count
double flop_count()
Definition:
aprecond_Mixedprec-tmpl.h:123
Test_Solver_Wilson::solver
int solver(const std::string &)
Definition:
test_Solver_Wilson.cpp:134
APrecond_Mixedprec::class_name
static const std::string class_name
Definition:
aprecond_Mixedprec.h:33
APrecond_Mixedprec
Definition:
aprecond_Mixedprec.h:28
aprecond.h
APrecond_Mixedprec::m_solver
ASolver< AFIELD2 > * m_solver
Definition:
aprecond_Mixedprec.h:38
commonParameters.h
Field
Container of Field-type object.
Definition:
field.h:46
afopr.h
APrecond_Mixedprec::EVEN_ODD
@ EVEN_ODD
Definition:
aprecond_Mixedprec.h:35
APrecond_Mixedprec::init
void init()
Definition:
aprecond_Mixedprec-tmpl.h:19
Bridge::vout
BridgeIO vout
Definition:
bridgeIO.cpp:512
APrecond_Mixedprec::mult
void mult(AFIELD &, const AFIELD &)
Definition:
aprecond_Mixedprec-tmpl.h:55
src
lib_alt
Solver
aprecond_Mixedprec.h
Generated on Sat Feb 10 2024 14:20:00 for Bridge++ by
1.8.17