Accessor macros

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