2
2
#define _QUDA_MILC_INTERFACE_H
3
3
4
4
#include <enum_quda.h>
5
+ #include <quda.h>
5
6
6
7
#ifdef __cplusplus
7
8
extern "C" {
@@ -53,7 +54,7 @@ extern "C" {
53
54
void qudaHisqParamsInit (QudaHisqParams_t hisq_params );
54
55
55
56
56
- void qudaLoadFatLink (int precision , QudaFatLinkArgs_t fatlink_args , const double act_path_coeff [6 ], void * inlink , void * outlink );
57
+ void qudaLoadKSLink (int precision , QudaFatLinkArgs_t fatlink_args , const double act_path_coeff [6 ], void * inlink , void * fatlink , void * longlink );
57
58
58
59
59
60
void qudaLoadUnitarizedLink (int precision , QudaFatLinkArgs_t fatlink_args , const double path_coeff [6 ], void * inlink , void * fatlink , void * ulink );
@@ -67,6 +68,7 @@ extern "C" {
67
68
double target_relresid ,
68
69
const void * const milc_fatlink ,
69
70
const void * const milc_longlink ,
71
+ const double tadpole ,
70
72
void * source ,
71
73
void * solution ,
72
74
double * const final_resid ,
@@ -103,6 +105,7 @@ extern "C" {
103
105
const double * target_relative_residual ,
104
106
const void * const milc_fatlink ,
105
107
const void * const milc_longlink ,
108
+ const double tadpole ,
106
109
void * source ,
107
110
void * * solutionArray ,
108
111
double * const final_residual ,
@@ -128,6 +131,22 @@ extern "C" {
128
131
);
129
132
130
133
134
+ void qudaCloverMultishiftInvert (int external_precision ,
135
+ int quda_precision ,
136
+ int num_offsets ,
137
+ double * const offset ,
138
+ double kappa ,
139
+ QudaInvertArgs_t inv_args ,
140
+ const double * target_residual ,
141
+ const void * milc_link ,
142
+ void * milc_clover ,
143
+ void * milc_clover_inv ,
144
+ void * source ,
145
+ void * * solutionArray ,
146
+ double * const final_residual ,
147
+ int * num_iters
148
+ );
149
+
131
150
void qudaHisqForce (
132
151
int precision ,
133
152
const double level2_coeff [6 ],
@@ -141,6 +160,15 @@ extern "C" {
141
160
void * const milc_momentum );
142
161
143
162
163
+ void qudaAsqtadForce (
164
+ int precision ,
165
+ const double act_path_coeff [6 ],
166
+ const void * const one_link_src [4 ],
167
+ const void * const naik_src [4 ],
168
+ const void * const link ,
169
+ void * const milc_momentum );
170
+
171
+
144
172
void qudaGaugeForce (int precision ,
145
173
int num_loop_types ,
146
174
double milc_loop_coeff [3 ],
@@ -157,7 +185,26 @@ extern "C" {
157
185
void * const one_link_src [4 ],
158
186
void * const three_link_src [4 ]);
159
187
188
+ void qudaComputeOprod (int precision ,
189
+ int num_terms ,
190
+ double * * coeff ,
191
+ void * * quark_field ,
192
+ void * oprod [2 ]);
193
+
194
+
195
+ void qudaUpdateU (int precision ,
196
+ double eps ,
197
+ void * momentum ,
198
+ void * link );
199
+
200
+
201
+ void qudaCloverDerivative (void * out , void * gauge , void * oprod ,
202
+ int mu , int nu , int precision , int parity , int conjugate );
203
+
204
+
205
+ void * qudaCreateExtendedGaugeField (void * gauge , int geometry , int precision );
160
206
207
+ void qudaDestroyGaugeField (void * gauge );
161
208
162
209
#ifdef __cplusplus
163
210
}
0 commit comments