/* * symmetry_check.c * * Check symmetry * * (c) 2011 Thomas White * * Part of CrystFEL - crystallography with a FEL * */ #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include "../src/symmetry.h" #include "../src/utils.h" static int is_nonmirror_subgroup(SymOpList *holo, SymOpList *mero) { SymOpList *twins; int index; if ( !is_subgroup(holo, mero) ) return 0; twins = get_ambiguities(holo, mero); if ( twins == NULL ) return 0; index = num_equivs(twins, NULL); free_symoplist(twins); return index; } static int is_maximal_nonmirror_subgroup(SymOpList *holo, SymOpList *mero, SymOpList **list, int n) { int i; int index; index = is_nonmirror_subgroup(holo, mero); if ( index == 0 ) return 0; /* Try to find a group ... */ for ( i=0; i