There are two levels of generic naming: fully generic in which both color and precision may be controlled globally through two macros and color-generic in which precision is explicit but not color. Generic naming applies to datatypes, module names, and accessor macros and follows similar rules.
Names for fully generic datatypes are listed in the table below.
name | abbreviation | description |
QLA_Real | R | real |
QLA_Complex | C | complex |
QLA_Int | I | integer |
QLA_ColorMatrix | M | Nc x Nc complex matrix |
QLA_HalfFermion | H | two-spin, Nc color spinor |
QLA_DiracFermion | D | four-spin, Nc color spinor |
QLA_ColorVector | V | one-spin, Nc color spinor |
QLA_DiracPropagator | P | 4Nc x 4Nc complex matrix |
QLA_RandomState | S | implementation dependent |
An extended precision type with abbreviation Q is also defined, but it is currently intended only for extending precision in the global reduction of double precision data, and then only where the architecture and compiler supports it. Only a handful of functions use it, namely, reduction, type conversion and some copying and incrementing.
James Osborn 2006-06-25