qpms_irot3_t * qpms_pg_elems(qpms_irot3_t *target, qpms_pointgroup_t g)
Generates all elements of a given point group.
Definition: pointgroups.c:92
_Bool qpms_pg_is_subgroup(qpms_pointgroup_t a, qpms_pointgroup_t b)
Checks whether a is subgroup of b (in a dirty general way).
Definition: pointgroups.c:102
qpms_irot3_t * qpms_pg_canonical_elems(qpms_irot3_t *target, qpms_pointgroup_class cls, qpms_gmi_t)
Generates the canonical elements of a given 3D point group type.
Definition: pointgroups.c:38
qpms_gmi_t qpms_pg_genset(qpms_pointgroup_class cls, qpms_gmi_t n, qpms_irot3_t gen[])
Fills an array of canonical generators of a given 3D point group type.
Definition: pointgroups.c:233
double qpms_pg_quat_cmp_atol
Absolute tolerance threshold used internally to consider two different qpms_irot3_t instances equal.
Definition: pointgroups.c:6
int qpms_pg_irot3_approx_cmp(const qpms_irot3_t *, const qpms_irot3_t *, double atol)
An ordering of qpms_irot3_t that considers close enough elements equal.
Definition: pointgroups.c:18
int qpms_pg_irot3_approx_cmp_v(const void *, const void *)
A search.h compatible ordering of qpms_irot3_t that considers close enough elements equal.
Definition: pointgroups.c:31
static _Bool qpms_pg_is_finite_axial(qpms_pointgroup_class cls)
Returns true if the point group class belongs to one of the seven "axial" group series.
Definition: pointgroups.h:12
qpms_gmi_t qpms_pg_order(qpms_pointgroup_class cls, qpms_gmi_t n)
Returns the order of a given 3D point group type.
Definition: pointgroups.c:126
qpms_gmi_t qpms_pg_genset_size(qpms_pointgroup_class cls, qpms_gmi_t n)
Returns the number of canonical generators of a given 3D point group type.
Definition: pointgroups.c:177
QPMS miscellanous internal error handling functions and macros.
int qpms_gmi_t
Finite group member index. See also groups.h.
Definition: qpms_types.h:320
qpms_pointgroup_class
Classification of a 3D point group.
Definition: qpms_types.h:353
@ QPMS_PGS_DND
Antiprismatic symmetry .
Definition: qpms_types.h:361
@ QPMS_PGS_DN
Dihedral symmetry .
Definition: qpms_types.h:360
@ QPMS_PGS_CN
Rotational symmetry .
Definition: qpms_types.h:356
@ QPMS_PGS_S2N
Rotoreflectional symmetry .
Definition: qpms_types.h:357
@ QPMS_PGS_CNV
Pyramidal symmetry .
Definition: qpms_types.h:359
@ QPMS_PGS_DNH
Prismatic symmetry .
Definition: qpms_types.h:362
@ QPMS_PGS_CNH
Rotational symmetry with horizontal reflection .
Definition: qpms_types.h:358
Quaternions and Wigner matrices.
3D improper rotations represented as a quaternion and a sign of the determinant.
Definition: qpms_types.h:275
Full characterisation of a 3D point group.
Definition: qpms_types.h:386