12 #ifndef _ENUM_FORTRAN_QUDA_H 13 #define _ENUM_FORTRAN_QUDA_H 16 #define QUDA_INVALID_ENUM (-2147483647 - 1) 18 #define QudaLinkType integer(4) 20 #define QUDA_MEMORY_DEVICE 0 21 #define QUDA_MEMORY_PINNED 1 22 #define QUDA_MEMORY_MAPPED 2 23 #define QUDA_MEMORY_INVALID QUDA_INVALID_ENUM 25 #define QUDA_CUSOLVE_EXTLIB 0 26 #define QUDA_EIGEN_EXTLIB 1 27 #define QUDA_MAGMA_EXTLIB 2 28 #define QUDA_EXTLIB_INVALID QUDA_INVALID_ENUM 30 #define QUDA_SU3_LINKS 0 31 #define QUDA_GENERAL_LINKS 1 32 #define QUDA_THREE_LINKS 2 33 #define QUDA_MOMENTUM_LINKS 3 34 #define QUDA_COARSE_LINKS 4 35 #define QUDA_SMEARED_LINKS 5 37 #define QUDA_WILSON_LINKS QUDA_SU3_LINKS 38 #define QUDA_ASQTAD_FAT_LINKS QUDA_GENERAL_LINKS 39 #define QUDA_ASQTAD_LONG_LINKS QUDA_THREE_LINKS 40 #define QUDA_ASQTAD_MOM_LINKS QUDA_MOMENTUM_LINKS 41 #define QUDA_ASQTAD_GENERAL_LINKS QUDA_GENERAL_LINKS 42 #define QUDA_INVALID_LINKS QUDA_INVALID_ENUM 44 #define QudaGaugeFieldOrder integer(4) 45 #define QUDA_FLOAT_GAUGE_ORDER 1 46 #define QUDA_FLOAT2_GAUGE_ORDER 2 //no reconstruct and double precision 47 #define QUDA_FLOAT4_GAUGE_ORDER 4 //8 and 12 reconstruct half and single 48 #define QUDA_QDP_GAUGE_ORDER 5 //expect *gauge[4] even-odd spacetime row-column color 49 #define QUDA_QDPJIT_GAUGE_ORDER 6 //expect *gauge[4] even-odd spacetime row-column color 50 #define QUDA_CPS_WILSON_GAUGE_ORDER 7 //expect *gauge even-odd spacetime column-row color 51 #define QUDA_MILC_GAUGE_ORDER 8 //expect *gauge even-odd mu spacetime row-column order 52 #define QUDA_MILC_SITE_GAUGE_ORDER 9 // packed into MILC site AoS [even-odd][spacetime] array, and [dir][row][col] inside 53 #define QUDA_BQCD_GAUGE_ORDER 10 //expect *gauge mu even-odd spacetime+halos row-column order 54 #define QUDA_TIFR_GAUGE_ORDER 11 55 #define QUDA_TIFR_PADDED_GAUGE_ORDER 12 56 #define QUDA_INVALID_GAUGE_ORDER QUDA_INVALID_ENUM 58 #define QudaTboundary integer(4) 59 #define QUDA_ANTI_PERIODIC_T -1 60 #define QUDA_PERIODIC_T 1 61 #define QUDA_INVALID_T_BOUNDARY QUDA_INVALID_ENUM 63 #define QudaPrecision integer(4) 64 #define QUDA_QUARTER_PRECISION 1 65 #define QUDA_HALF_PRECISION 2 66 #define QUDA_SINGLE_PRECISION 4 67 #define QUDA_DOUBLE_PRECISION 8 68 #define QUDA_INVALID_PRECISION QUDA_INVALID_ENUM 70 #define QudaReconstructType integer(4) 71 #define QUDA_RECONSTRUCT_NO 18 72 #define QUDA_RECONSTRUCT_12 12 73 #define QUDA_RECONSTRUCT_8 8 74 #define QUDA_RECONSTRUCT_9 9 75 #define QUDA_RECONSTRUCT_13 13 76 #define QUDA_RECONSTRUCT_10 10 77 #define QUDA_RECONSTRUCT_INVALID QUDA_INVALID_ENUM 79 #define QudaGaugeFixed integer(4) 80 #define QUDA_GAUGE_FIXED_NO 0 81 #define QUDA_GAUGE_FIXED_YES 1 // gauge field stored in temporal gauge 82 #define QUDA_GAUGE_FIXED_INVALID QUDA_INVALID_ENUM 86 #define QudaDslashType integer(4) 87 #define QUDA_WILSON_DSLASH 0 88 #define QUDA_CLOVER_WILSON_DSLASH 1 89 #define QUDA_DOMAIN_WALL_DSLASH 2 90 #define QUDA_DOMAIN_WALL_4D_DSLASH 3 91 #define QUDA_MOBIUS_DWF_DSLASH 4 92 #define QUDA_STAGGERED_DSLASH 5 93 #define QUDA_ASQTAD_DSLASH 7 94 #define QUDA_TWISTED_MASS_DSLASH 7 95 #define QUDA_TWISTED_CLOVER_DSLASH 8 96 #define QUDA_LAPLACE_DSLASH 9 97 #define QUDA_INVALID_DSLASH QUDA_INVALID_ENUM 99 #define QudaInverterType integer(4) 100 #define QUDA_CG_INVERTER 0 101 #define QUDA_BICGSTAB_INVERTER 1 102 #define QUDA_GCR_INVERTER 2 103 #define QUDA_MR_INVERTER 3 104 #define QUDA_MPBICGSTAB_INVERTER 4 105 #define QUDA_SD_INVERTER 5 106 #define QUDA_XSD_INVERTER 6 107 #define QUDA_PCG_INVERTER 7 108 #define QUDA_MPCG_INVERTER 8 109 #define QUDA_EIGCG_INVERTER 9 110 #define QUDA_INC_EIGCG_INVERTER 10 111 #define QUDA_GMRESDR_INVERTER 11 112 #define QUDA_GMRESDR_PROJ_INVERTER 12 113 #define QUDA_GMRESDR_SH_INVERTER 13 114 #define QUDA_FGMRESDR_INVERTER 14 115 #define QUDA_MG_INVERTER 15 116 #define QUDA_BICGSTABL_INVERTER 16 117 #define QUDA_CGNE_INVERTER 17 118 #define QUDA_CGNR_INVERTER 18 119 #define QUDA_CG3_INVERTER 19 120 #define QUDA_CG3NE_INVERTER 20 121 #define QUDA_CG3NR_INVERTER 21 122 #define QUDA_CA_CG_INVERTER 22 123 #define QUDA_CA_CGNE_INVERTER 23 124 #define QUDA_CA_CGNR_INVERTER 24 125 #define QUDA_CA_GCR_INVERTER 25 126 #define QUDA_INVALID_INVERTER QUDA_INVALID_ENUM 128 #define QudaEigType integer(4) 129 #define QUDA_EIG_TR_LANCZOS 0 // Thick Restarted Lanczos Solver 130 #define QUDA_EIG_IR_LANCZOS 1 // Implicitly restarted Lanczos solver (not yet implemented) 131 #define QUDA_EIG_IR_ARNOLDI 2 // Implicitly restarted Arnoldi solver (not yet implemented) 132 #define QUDA_EIG_INVALID QUDA_INVALID_ENUM 134 #define QudaEigSpectrumType integer(4) 135 #define QUDA_SPECTRUM_SR_EIG 0 136 #define QUDA_SPECTRUM_LR_EIG 1 137 #define QUDA_SPECTRUM_SM_EIG 2 138 #define QUDA_SPECTRUM_LM_EIG 3 139 #define QUDA_SPECTRUM_SI_EIG 4 140 #define QUDA_SPECTRUM_LI_EIG 5 141 #define QUDA_SPECTRUM_INVALID QUDA_INVALID_ENUM 143 #define QudaSolutionType integer(4) 144 #define QUDA_MAT_SOLUTION 0 145 #define QUDA_MATDAG_MAT_SOLUTION 1 146 #define QUDA_MATPC_SOLUTION 2 147 #define QUDA_MATPC_DAG_SOLUTION 3 148 #define QUDA_MATPCDAG_MATPC_SOLUTION 4 149 #define QUDA_MATPCDAG_MATPC_SHIFT_SOLUTION 5 150 #define QUDA_INVALID_SOLUTION QUDA_INVALID_ENUM 152 #define QudaSolveType integer(4) 153 #define QUDA_DIRECT_SOLVE 0 154 #define QUDA_NORMOP_SOLVE 1 155 #define QUDA_DIRECT_PC_SOLVE 2 156 #define QUDA_NORMOP_PC_SOLVE 3 157 #define QUDA_NORMERR_SOLVE 4 158 #define QUDA_NORMERR_PC_SOLVE 5 159 #define QUDA_NORMEQ_SOLVE QUDA_NORMOP_SOLVE // deprecated 160 #define QUDA_NORMEQ_PC_SOLVE QUDA_NORMOP_PC_SOLVE // deprecated 161 #define QUDA_INVALID_SOLVE QUDA_INVALID_ENUM 163 #define QudaMultigridCycleType integer(4) 164 #define QUDA_MG_CYCLE_VCYCLE 0 165 #define QUDA_MG_CYCLE_FCYCLE 1 166 #define QUDA_MG_CYCLE_WCYCLE 2 167 #define QUDA_MG_CYCLE_RECURSIVE 3 168 #define QUDA_MG_CYCLE_INVALID QUDA_INVALID_ENUM 170 #define QudaSchwarzType integer(4) 171 #define QUDA_ADDITIVE_SCHWARZ 0 172 #define QUDA_MULTIPLICATIVE_SCHWARZ 1 173 #define QUDA_INVALID_SCHWARZ QUDA_INVALID_ENUM 175 #define QudaResidualType integer(4) 176 #define QUDA_L2_RELATIVE_RESIDUAL 1 177 #define QUDA_L2_ABSOLUTE_RESIDUAL 2 178 #define QUDA_HEAVY_QUARK_RESIDUAL 4 179 #define QUDA_INVALID_RESIDUAL QUDA_INVALID_ENUM 181 #define QudaCABasis integer(4) 182 #define QUDA_POWER_BASIS 0 183 #define QUDA_CHEBYSHEV_BASIS 1 184 #define QUDA_INVALID_BASIS QUDA_INVALID_ENUM 197 #define QudaMatPCType integer(4) 198 #define QUDA_MATPC_EVEN_EVEN 0 199 #define QUDA_MATPC_ODD_ODD 1 200 #define QUDA_MATPC_EVEN_EVEN_ASYMMETRIC 2 201 #define QUDA_MATPC_ODD_ODD_ASYMMETRIC 3 202 #define QUDA_MATPC_INVALID QUDA_INVALID_ENUM 204 #define QudaDagType integer(4) 205 #define QUDA_DAG_NO 0 206 #define QUDA_DAG_YES 1 207 #define QUDA_DAG_INVALID QUDA_INVALID_ENUM 209 #define QudaMassNormalization integer(4) 210 #define QUDA_KAPPA_NORMALIZATION 0 211 #define QUDA_MASS_NORMALIZATION 1 212 #define QUDA_ASYMMETRIC_MASS_NORMALIZATION 2 213 #define QUDA_INVALID_NORMALIZATION QUDA_INVALID_ENUM 215 #define QudaSolverNormalization integer(4) 216 #define QUDA_DEFAULT_NORMALIZATION 0 // leave source and solution untouched 217 #define QUDA_SOURCE_NORMALIZATION 1 // normalize such that || src || = 1 219 #define QudaPreserveSource integer(4) 220 #define QUDA_PRESERVE_SOURCE_NO 0 // use the source for the residual 221 #define QUDA_PRESERVE_SOURCE_YES 1 222 #define QUDA_PRESERVE_SOURCE_INVALID QUDA_INVALID_ENUM 224 #define QudaDiracFieldOrder integer(4) 225 #define QUDA_INTERNAL_DIRAC_ORDER 0 // internal dirac order used by QUDA varies depending on precision and dslash type 226 #define QUDA_DIRAC_ORDER 1 227 #define QUDA_QDP_DIRAC_ORDER 2 // even-odd spin inside color 228 #define QUDA_QDPJIT_DIRAC_ORDER 3 // even-odd, complex-color-spin-spacetime 229 #define QUDA_CPS_WILSON_DIRAC_ORDER 4 // odd-even color inside spin 230 #define QUDA_LEX_DIRAC_ORDER 5 // lexicographical order color inside spin 231 #define QUDA_TIFR_PADDED_DIRAC_ORDER 6 232 #define QUDA_INVALID_DIRAC_ORDER QUDA_INVALID_ENUM 234 #define QudaCloverFieldOrder integer(4) 235 #define QUDA_FLOAT_CLOVER_ORDER 1 // even-odd float ordering 236 #define QUDA_FLOAT2_CLOVER_ORDER 2 // even-odd float2 ordering 237 #define QUDA_FLOAT4_CLOVER_ORDER 4 // even-odd float4 ordering 238 #define QUDA_PACKED_CLOVER_ORDER 5 // even-odd packed 239 #define QUDA_QDPJIT_CLOVER_ORDER 6 // lexicographical order packed 240 #define QUDA_BQCD_CLOVER_ORDER 7 // BQCD order which is a packed super-diagonal form 241 #define QUDA_INVALID_CLOVER_ORDER QUDA_INVALID_ENUM 243 #define QudaVerbosity integer(4) 244 #define QUDA_SILENT 0 245 #define QUDA_SUMMARIZE 1 246 #define QUDA_VERBOSE 2 247 #define QUDA_DEBUG_VERBOSE 3 248 #define QUDA_INVALID_VERBOSITY QUDA_INVALID_ENUM 250 #define QudaTune integer(4) 251 #define QUDA_TUNE_NO 0 252 #define QUDA_TUNE_YES 1 253 #define QUDA_TUNE_INVALID QUDA_INVALID_ENUM 255 #define QudaPreserveDirac integer(4) 256 #define QUDA_PRESERVE_DIRAC_NO 0 257 #define QUDA_PRESERVE_DIRAC_YES 1 258 #define QUDA_PRESERVE_DIRAC_INVALID QUDA_INVALID_ENUM 260 ! Type used
for "parity" argument to
dslashQuda()
262 #define QudaParity integer(4) 263 #define QUDA_EVEN_PARITY 0 264 #define QUDA_ODD_PARITY 1 265 #define QUDA_INVALID_PARITY QUDA_INVALID_ENUM 267 ! Types used only internally
269 #define QudaDiracType integer(4) 270 #define QUDA_WILSON_DIRAC 0 271 #define QUDA_WILSONPC_DIRAC 1 272 #define QUDA_CLOVER_DIRAC 2 273 #define QUDA_CLOVERPC_DIRAC 3 274 #define QUDA_DOMAIN_WALL_DIRAC 4 275 #define QUDA_DOMAIN_WALLPC_DIRAC 5 276 #define QUDA_DOMAIN_WALL_4D_DIRAC 6 277 #define QUDA_DOMAIN_WALL_4DPC_DIRAC 7 278 #define QUDA_MOBIUS_DOMAIN_WALL_DIRAC 8 279 #define QUDA_MOBIUS_DOMAIN_WALLPC_DIRAC 9 280 #define QUDA_STAGGERED_DIRAC 10 281 #define QUDA_STAGGEREDPC_DIRAC 11 282 #define QUDA_ASQTAD_DIRAC 12 283 #define QUDA_ASQTADPC_DIRAC 13 284 #define QUDA_TWISTED_MASS_DIRAC 14 285 #define QUDA_TWISTED_MASSPC_DIRAC 15 286 #define QUDA_TWISTED_CLOVER_DIRAC 16 287 #define QUDA_TWISTED_CLOVERPC_DIRAC 17 288 #define QUDA_COARSE_DIRAC 18 289 #define QUDA_COARSEPC_DIRAC 19 290 #define QUDA_GAUGE_LAPLACE_DIRAC 20 291 #define QUDA_GAUGE_LAPLACEPC_DIRAC 21 292 #define QUDA_GAUGE_COVDEV_DIRAC 22 293 #define QUDA_INVALID_DIRAC QUDA_INVALID_ENUM 295 ! Where the field is stored
296 #define QudaFieldLocation integer(4) 297 #define QUDA_CPU_FIELD_LOCATION 1 298 #define QUDA_CUDA_FIELD_LOCATION 2 299 #define QUDA_INVALID_FIELD_LOCATION QUDA_INVALID_ENUM 301 ! Which sites are included
302 #define QudaSiteSubset integer(4) 303 #define QUDA_PARITY_SITE_SUBSET 1 304 #define QUDA_FULL_SITE_SUBSET 2 305 #define QUDA_INVALID_SITE_SUBSET QUDA_INVALID_ENUM 307 ! Site ordering (always t-z-y-x with rightmost varying fastest)
308 #define QudaSiteOrder integer(4) 309 #define QUDA_LEXICOGRAPHIC_SITE_ORDER 0 // lexicographic ordering 310 #define QUDA_EVEN_ODD_SITE_ORDER 1 // QUDA and QDP use this 311 #define QUDA_ODD_EVEN_SITE_ORDER 2 // CPS uses this 312 #define QUDA_INVALID_SITE_ORDER QUDA_INVALID_ENUM 314 ! Degree of freedom ordering
315 #define QudaFieldOrder integer(4) 316 #define QUDA_FLOAT_FIELD_ORDER 1 // spin-color-complex-space 317 #define QUDA_FLOAT2_FIELD_ORDER 2 // (spin-color-complex)/2-space-(spin-color-complex)%2 318 #define QUDA_FLOAT4_FIELD_ORDER 4 // (spin-color-complex)/4-space-(spin-color-complex)%4 319 #define QUDA_SPACE_SPIN_COLOR_FIELD_ORDER 5 // CPS/QDP++ ordering 320 #define QUDA_SPACE_COLOR_SPIN_FIELD_ORDER 6 // QLA ordering (spin inside color) 321 #define QUDA_QDPJIT_FIELD_ORDER 7 // QDP field ordering (complex-color-spin-spacetime) 322 #define QUDA_QOP_DOMAIN_WALL_FIELD_ORDER 8 // QOP domain-wall ordering 323 #define QUDA_PADDED_SPACE_SPIN_COLOR_FIELD_ORDER 9 // TIFR RHMC ordering 324 #define QUDA_INVALID_FIELD_ORDER QUDA_INVALID_ENUM 326 #define QudaFieldCreate integer(4) 327 #define QUDA_NULL_FIELD_CREATE 0 // create new field 328 #define QUDA_ZERO_FIELD_CREATE 1 // create new field and zero it 329 #define QUDA_COPY_FIELD_CREATE 2 // create copy to field 330 #define QUDA_REFERENCE_FIELD_CREATE 3 // create reference to field 331 #define QUDA_INVALID_FIELD_CREATE QUDA_INVALID_ENUM 333 #define QudaGammaBasis integer(4) 334 #define QUDA_DEGRAND_ROSSI_GAMMA_BASIS 0 335 #define QUDA_UKQCD_GAMMA_BASIS 1 336 #define QUDA_CHIRAL_GAMMA_BASIS 2 337 #define QUDA_INVALID_GAMMA_BASIS QUDA_INVALID_ENUM 339 #define QudaSourceType integer(4) 340 #define QUDA_POINT_SOURCE 0 341 #define QUDA_RANDOM_SOURCE 1 342 #define QUDA_CONSTANT_SOURCE 2 343 #define QUDA_SINUSOIDAL_SOURCE 3 344 #define QUDA_CORNER_SOURCE 4 345 #define QUDA_INVALID_SOURCE QUDA_INVALID_ENUM 347 #define QudaNoiseType integer(4) 348 #define QUDA_NOISE_GAUSS 0 349 #define QUDA_NOISE_UNIFORM 1 350 #define QUDA_NOISE_INVALID QUDA_INVALID_ENUM 352 #define QudaProjectionType integer(4) 353 #define QUDA_MINRES_PROJECTION 0 354 #define QUDA_GALERKIN_PROJECTION 1 355 #define QUDA_INVALID_PROJECTION QUDA_INVALID_ENUM 357 #define QudaPCType integer(4) 360 #define QUDA_PC_INVALID QUDA_INVALID_ENUM 362 #define QudaTwistFlavorType integer(4) 363 #define QUDA_TWIST_SINGLET 1 364 #define QUDA_TWIST_NONDEG_DOUBLET +2 365 #define QUDA_TWIST_DEG_DOUBLET -2 366 #define QUDA_TWIST_NO 0 367 #define QUDA_TWIST_INVALID QUDA_INVALID_ENUM 369 #define QudaTwistDslashType integer(4) 370 #define QUDA_DEG_TWIST_INV_DSLASH 0 371 #define QUDA_DEG_DSLASH_TWIST_INV 1 372 #define QUDA_DEG_DSLASH_TWIST_XPAY 2 373 #define QUDA_NONDEG_DSLASH 3 374 #define QUDA_DSLASH_INVALID QUDA_INVALID_ENUM 376 #define QudaTwistCloverDslashType integer(4) 377 #define QUDA_DEG_CLOVER_TWIST_INV_DSLASH 0 378 #define QUDA_DEG_DSLASH_CLOVER_TWIST_INV 1 379 #define QUDA_DEG_DSLASH_CLOVER_TWIST_XPAY 2 380 #define QUDA_TC_DSLASH_INVALID QUDA_INVALID_ENUM 382 #define QudaTwistGamma5Type integer(4) 383 #define QUDA_TWIST_GAMMA5_DIRECT 0 384 #define QUDA_TWIST_GAMMA5_INVERSE 1 385 #define QUDA_TWIST_GAMMA5_INVALID QUDA_INVALID_ENUM 387 #define QudaUseInitGuess integer(4) 388 #define QUDA_USE_INIT_GUESS_NO 0 389 #define QUDA_USE_INIT_GUESS_YES 1 390 #define QUDA_USE_INIT_GUESS_INVALID QUDA_INVALID_ENUM 392 #define QudaComputeNullVector integer(4) 393 #define QUDA_COMPUTE_NULL_VECTOR_NO 0 394 #define QUDA_COMPUTE_NULL_VECTOR_YES 1 395 #define QUDA_COMPUTE_NULL_VECTOR_INVALID QUDA_INVALID_ENUM 397 #define QudaSetupType integer(4) 398 #define QUDA_NULL_VECTOR_SETUP 0 399 #define QUDA_TEST_VECTOR_SETUP 1 400 #define QUDA_INVALID_SETUP_TYPE QUDA_INVALID_ENUM 402 #define QudaBoolean integer(4) 403 #define QUDA_BOOLEAN_FALSE 0 404 #define QUDA_BOOLEAN_TRUE 1 405 #define QUDA_BOOLEAN_INVALID QUDA_INVALID_ENUM 406 #define QUDA_BOOLEAN_NO QUDA_BOOLEAN_FALSE // backwards compatibility 407 #define QUDA_BOOLEAN_YES QUDA_BOOLEAN_TRUE // backwards compatibility 409 #define QudaDirection integer(4) 410 #define QUDA_BACKWARDS -1 411 #define QUDA_FORWARDS +1 412 #define QUDA_BOTH_DIRS 2 414 #define QudaLinkDirection integer(4) 415 #define QUDA_LINK_BACKWARDS 0 416 #define QUDA_LINK_FORWARDS 1 417 #define QUDA_LINK_BIDIRECTIONAL 2 419 #define QudaFieldGeometry integer(4) 420 #define QUDA_SCALAR_GEOMETRY 1 421 #define QUDA_VECTOR_GEOMETRY 4 422 #define QUDA_TENSOR_GEOMETRY 6 423 #define QUDA_COARSE_GEOMETRY 8 424 #define QUDA_INVALID_GEOMETRY QUDA_INVALID_ENUM 426 #define QudaGhostExchange integer(4) 427 #define QUDA_GHOST_EXCHANGE_NO 0 428 #define QUDA_GHOST_EXCHANGE_PAD 1 429 #define QUDA_GHOST_EXCHANGE_EXTENDED 2 430 #define QUDA_GHOST_EXCHANGE_INVALID QUDA_INVALID_ENUM 432 #define QudaStaggeredPhase integer(4) 433 #define QUDA_STAGGERED_PHASE_NO 0 434 #define QUDA_STAGGERED_PHASE_MILC 1 435 #define QUDA_STAGGERED_PHASE_CPS 2 436 #define QUDA_STAGGERED_PHASE_TIFR 3 437 #define QUDA_STAGGERED_PHASE_INVALID QUDA_INVALID_ENUM 439 #define QudaContractType integer(4) 440 #define QUDA_CONTRACT_TYPE_OPEN , 441 #define QUDA_CONTRACT_TYPE_DR , 442 #define QUDA_CONTRACT_TYPE_DP , 443 #define QUDA_CONTRACT_TYPE_INVALID = QUDA_INVALID_ENUM 445 #define QudaContractGamma integer(4) 446 #define QUDA_CONTRACT_GAMMA_I 0 447 #define QUDA_CONTRACT_GAMMA_G1 1 448 #define QUDA_CONTRACT_GAMMA_G2 2 449 #define QUDA_CONTRACT_GAMMA_G3 3 450 #define QUDA_CONTRACT_GAMMA_G4 4 451 #define QUDA_CONTRACT_GAMMA_G5 5 452 #define QUDA_CONTRACT_GAMMA_G1G5 6 453 #define QUDA_CONTRACT_GAMMA_G2G5 7 454 #define QUDA_CONTRACT_GAMMA_G3G5 8 455 #define QUDA_CONTRACT_GAMMA_G4G5 9 456 #define QUDA_CONTRACT_GAMMA_S12 10 457 #define QUDA_CONTRACT_GAMMA_S13 11 458 #define QUDA_CONTRACT_GAMMA_S14 12 459 #define QUDA_CONTRACT_GAMMA_S21 13 460 #define QUDA_CONTRACT_GAMMA_S23 14 461 #define QUDA_CONTRACT_GAMMA_S34 15 462 #define QUDA_CONTRACT_GAMMA_INVALID QUDA_INVALID_ENUM 464 #define QudaExtLibType integer(4) 465 #define QUDA_CUSOLVE_EXTLIB 0 466 #define QUDA_EIGEN_EXTLIB 1 467 #define QUDA_MAGMA_EXTLIB 2 468 #define QUDA_EXTLIB_INVALID QUDA_INVALID_ENUM void dslashQuda(void *h_out, void *h_in, QudaInvertParam *inv_param, QudaParity parity)