Move some typedefs from groups.h to qpms_types.h

Former-commit-id: 2618edc301db95bbc383a170a9ad2047ab0275fd
This commit is contained in:
Marek Nečada 2019-02-27 12:29:19 +02:00
parent a1d14ca1b8
commit 4e4da9d6ad
2 changed files with 15 additions and 10 deletions

View File

@ -8,13 +8,7 @@
#ifndef QPMS_GROUPS_H #ifndef QPMS_GROUPS_H
#define QPMS_GROUPS_H #define QPMS_GROUPS_H
/// Group member index. #include "qpms_types.h"
typedef int qpms_gmi_t;
/// Permutation representation of a group element.
/** For now, it's just a string of the form "(0,1)(3,4,5)"
*/
typedef const char * qpms_permutation_t;
/// To be used only in qpms_finite_group_t /// To be used only in qpms_finite_group_t
struct qpms_finite_group_irrep_t { struct qpms_finite_group_irrep_t {
@ -27,8 +21,6 @@ struct qpms_finite_group_irrep_t {
complex double *m; complex double *m;
}; };
struct qpms_irot3_t;
/// A point group with its irreducible representations and some metadata. /// A point group with its irreducible representations and some metadata.
/** /**
* The structure of the group is given by the multiplication table \a mt. * The structure of the group is given by the multiplication table \a mt.
@ -53,7 +45,7 @@ typedef struct qpms_finite_group_t {
char **elemlabels; ///< Optional human readable labels for the group elements. char **elemlabels; ///< Optional human readable labels for the group elements.
int permrep_nelem; ///< Number of the elements over which the permutation representation acts. int permrep_nelem; ///< Number of the elements over which the permutation representation acts.
struct qpms_irot3_t *rep3d; ///< The quaternion representation of a 3D point group (if applicable). struct qpms_irot3_t *rep3d; ///< The quaternion representation of a 3D point group (if applicable).
int nirreps; ///< How many irreps does the group have qpms_iri_t nirreps; ///< How many irreps does the group have
struct qpms_finite_group_irrep_t *irreps; ///< Irreducible representations of the group. struct qpms_finite_group_irrep_t *irreps; ///< Irreducible representations of the group.
} qpms_finite_group_t; } qpms_finite_group_t;

View File

@ -308,5 +308,18 @@ typedef int32_t qpms_ss_tmi_t;
/// Particle index used in qpms_scatsys_t and related structures. /// Particle index used in qpms_scatsys_t and related structures.
typedef int32_t qpms_ss_pi_t; typedef int32_t qpms_ss_pi_t;
// These types are mainly used in groups.h:
/// Finite group member index.
typedef int qpms_gmi_t;
/// Irreducible representation index
typedef int qpms_iri_t;
/// Permutation representation of a group element.
/** For now, it's just a string of the form "(0,1)(3,4,5)"
*/
typedef const char * qpms_permutation_t;
#define lmcheck(l,m) assert((l) >= 1 && abs(m) <= (l)) #define lmcheck(l,m) assert((l) >= 1 && abs(m) <= (l))
#endif // QPMS_TYPES #endif // QPMS_TYPES