The data layout for the composite types is left to the implementation. However, it is then necessary to provide tools for accessing the components of these types. The following table lists macros that an implementer must supply for building the QLA library.
macro |
QLA_PC__elem_M(a,ic,jc) |
QLA_PC__elem_H(a,ic,is) |
QLA_PC__elem_D(a,ic,is) |
QLA_PC__elem_V(a,ic) |
QLA_PC__elem_D(a,ic,is,jc,js) |
Both generic and precision-color-specific versions of these macros are provided. Generic names omit the precision-color suffix PC, the symbol P standing for the precision label Q, D or F, and C, the color label 2, 3, or N.
Here are the definitions of the dummy macro arguments above:
argument | meaning |
a | name of structure (value, not pointer) |
ic | color row index |
is | spin row index |
jc | color column index |
js | spin column index |
The number of Dirac spins is fixed at four for a full spinor and two for a half-spinor. The number of colors is 2, 3 or QLA_Nc for the SU(N) case.
James Osborn 2006-06-25