The primitive datatypes are defined in a separate header
LALAtomicDatatypes.h, which is included by
LALDatatypes.h. This is done in order to facilitate the
interface between LAL and non-LAL modules. By including just
LALAtomicDatatypes.h, a non-LAL module can ensure that it is
using the same arithmetic standard as LAL, without being burdened by
LAL's more specialized structures.
Primitive datatypes are those that conceptually store a single number or quantity. They include both the atomic datatypes and the complex datatypes.