aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/reference/CrystFEL-sections.txt10
-rw-r--r--src/symmetry.c19
-rw-r--r--src/symmetry.h7
3 files changed, 28 insertions, 8 deletions
diff --git a/doc/reference/CrystFEL-sections.txt b/doc/reference/CrystFEL-sections.txt
index 30fc8c5c..d46646bf 100644
--- a/doc/reference/CrystFEL-sections.txt
+++ b/doc/reference/CrystFEL-sections.txt
@@ -196,6 +196,7 @@ indexingprivate
<SECTION>
<FILE>symmetry</FILE>
SymOpList
+SymOpMask
<SUBSECTION>
free_symoplist
num_equivs
@@ -203,7 +204,14 @@ get_pointgroup
get_equiv
special_position
get_asymm
-get_twins
+get_ambiguities
+is_centrosymmetric
+<SUBSECTION>
+new_symopmask
+free_symopmask
+<SUBSECTION>
+describe_symmetry
+symmetry_name
</SECTION>
<SECTION>
diff --git a/src/symmetry.c b/src/symmetry.c
index 2d70edb1..efd96b5f 100644
--- a/src/symmetry.c
+++ b/src/symmetry.c
@@ -88,6 +88,7 @@ static void alloc_ops(SymOpList *ops)
/**
* new_symopmask:
+ * @list: A %SymOpList
*
* Returns: a new %SymOpMask, which you can use when filtering out special
* reflections.
@@ -134,6 +135,7 @@ static SymOpList *new_symoplist()
/**
* free_symoplist:
+ * @ops: A %SymOpList to free
*
* Frees a %SymOpList and all associated resources.
**/
@@ -154,6 +156,7 @@ void free_symoplist(SymOpList *ops)
/**
* free_symopmask:
+ * @m: A %SymOpMask to free
*
* Frees a %SymOpMask and all associated resources.
**/
@@ -197,9 +200,12 @@ static void add_symop(SymOpList *ops,
/**
* num_equivs:
+ * @ops: A %SymOpList
+ * @m: A %SymOpMask, which has been shown to special_position()
*
* Returns: the number of equivalent reflections for a general reflection
- * in point group "ops".
+ * in point group "ops", which were not flagged by your call to
+ * special_position().
**/
int num_equivs(const SymOpList *ops, const SymOpMask *m)
{
@@ -828,6 +834,7 @@ static void do_op(const struct sym_op *op,
/**
* get_equiv:
* @ops: A %SymOpList
+ * @m: A %SymOpMask, which has been shown to special_position()
* @idx: Index of the operation to use
* @h: index of reflection
* @k: index of reflection
@@ -875,10 +882,8 @@ void get_equiv(const SymOpList *ops, const SymOpMask *m, int idx,
* @l: index of a reflection
*
* This function determines which operations in @ops map the reflection @h, @k,
- * @l onto itself, and returns a new %SymOpList containing only the operations
- * from @ops which do not do so.
+ * @l onto itself, and uses @m to flag the operations in @ops which cause this.
*
- * Returns: the "specialised" %SymOpList.
**/
void special_position(const SymOpList *ops, SymOpMask *m,
signed int h, signed int k, signed int l)
@@ -1084,6 +1089,12 @@ static char *name_equiv(const struct sym_op *op)
}
+/**
+ * describe_symmetry:
+ * @s: A %SymOpList
+ *
+ * Writes the name and a list of operations to stderr.
+ */
void describe_symmetry(const SymOpList *s)
{
int i, n;
diff --git a/src/symmetry.h b/src/symmetry.h
index ef6b794e..7ad93ece 100644
--- a/src/symmetry.h
+++ b/src/symmetry.h
@@ -33,9 +33,8 @@ typedef struct _symopmask SymOpMask;
extern void free_symoplist(SymOpList *ops);
extern SymOpList *get_pointgroup(const char *sym);
-extern const char *symmetry_name(const SymOpList *ops);
-extern SymOpMask *new_symopmask(const SymOpList *ops);
+extern SymOpMask *new_symopmask(const SymOpList *list);
extern void free_symopmask(SymOpMask *m);
extern void special_position(const SymOpList *ops, SymOpMask *m,
@@ -48,8 +47,10 @@ extern void get_equiv(const SymOpList *ops, const SymOpMask *m, int idx,
signed int h, signed int k, signed int l,
signed int *he, signed int *ke, signed int *le);
+extern SymOpList *get_ambiguities(const SymOpList *source, const SymOpList *target);
+
extern int is_centrosymmetric(const SymOpList *s);
-extern SymOpList *get_twins(const SymOpList *source, const SymOpList *target);
+extern const char *symmetry_name(const SymOpList *ops);
extern void describe_symmetry(const SymOpList *s);
#endif /* SYMMETRY_H */