aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS10
-rw-r--r--doc/reference/libcrystfel/CrystFEL-sections.txt10
-rw-r--r--libcrystfel/src/symmetry.c49
-rw-r--r--libcrystfel/src/symmetry.h4
4 files changed, 22 insertions, 51 deletions
diff --git a/AUTHORS b/AUTHORS
index 20be21df..5add4577 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -3,6 +3,7 @@
* Kenneth Beyerlein <kenneth.beyerlein@desy.de>
Peak integration improvements
+ General bug finding and fixing
* Richard Kirian <rkirian@asu.edu>
MOSFLM auto-indexing, bug fixing.
@@ -21,9 +22,7 @@
* Chun Hong Yoon <chun.hong.yoon@desy.de>
Speed improvements to indexamajig
pattern_sim overhaul and SASE spectrum simulation
-
-* Kenneth Beyerlein <kenneth.beyerlein@desy.de>
- General bug finding and fixing
+ C++ compatibility
* Nadia Zatsepin <nadia.zatsepin@asu.edu>
General bug finding and fixing
@@ -48,3 +47,8 @@
* Valerio Mariani <<alerio.mariani@desy.de>
Packaging and general bug fixing
+ hdfsee calibration mode
+ --version options
+
+* Parker de Waal <Parker.deWaal@vai.org>
+ A small (but important) bug fix
diff --git a/doc/reference/libcrystfel/CrystFEL-sections.txt b/doc/reference/libcrystfel/CrystFEL-sections.txt
index 82e393d9..035ab935 100644
--- a/doc/reference/libcrystfel/CrystFEL-sections.txt
+++ b/doc/reference/libcrystfel/CrystFEL-sections.txt
@@ -26,8 +26,6 @@ get_partial
get_indices
get_symmetric_indices
get_intensity
-get_scalable
-get_refinable
get_redundancy
get_esd_intensity
get_phase
@@ -41,8 +39,6 @@ set_partiality
set_lorentz
set_partial
set_intensity
-set_scalable
-set_refinable
set_redundancy
set_esd_intensity
set_phase
@@ -291,6 +287,7 @@ get_pointgroup
parse_symmetry_operations
add_symop
get_equiv
+get_symop
special_position
get_asymm
get_ambiguities
@@ -455,12 +452,14 @@ IntegrationMethod
IntDiag
integrate_all
integrate_all_2
+integrate_all_3
integration_method
</SECTION>
<SECTION>
<FILE>stream</FILE>
Stream
+StreamReadFlags
CHUNK_END_MARKER
CHUNK_START_MARKER
CRYSTAL_END_MARKER
@@ -472,11 +471,12 @@ REFLECTION_START_MARKER
open_stream_fd_for_write
open_stream_for_read
open_stream_for_write
+get_stream_fd
close_stream
read_chunk
+read_chunk_2
write_chunk
rewind_stream
is_stream
write_command
-write_line
</SECTION>
diff --git a/libcrystfel/src/symmetry.c b/libcrystfel/src/symmetry.c
index 14b108b7..1a4fee1e 100644
--- a/libcrystfel/src/symmetry.c
+++ b/libcrystfel/src/symmetry.c
@@ -8,6 +8,7 @@
*
* Authors:
* 2010-2014 Thomas White <taw@physics.org>
+ * 2014 Kenneth Beyerlein <kenneth.beyerlein@desy.de>
*
* This file is part of CrystFEL.
*
@@ -215,7 +216,7 @@ static void add_symop_v(SymOpList *ops,
* contained in the symmetry operator list, and identified by the specified
* index.
**/
-IntegerMatrix* get_symop(const SymOpList *ops, const SymOpMask *m, int idx)
+IntegerMatrix *get_symop(const SymOpList *ops, const SymOpMask *m, int idx)
{
const int n = num_ops(ops);
@@ -255,6 +256,7 @@ IntegerMatrix* get_symop(const SymOpList *ops, const SymOpMask *m, int idx)
return ops->ops[idx];
}
+
static signed int *v(signed int h, signed int k, signed int i, signed int l)
{
signed int *vec = malloc(3*sizeof(signed int));
@@ -1130,47 +1132,10 @@ 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)
{
- const int n = num_ops(ops);
-
- if ( m != NULL ) {
-
- int i, c;
-
- c = 0;
- for ( i=0; i<n; i++ ) {
-
- if ( (c == idx) && m->mask[i] ) {
- do_op(ops->ops[i], h, k, l, he, ke, le);
- return;
- }
-
- if ( m->mask[i] ) {
- c++;
- }
-
- }
-
- ERROR("Index %i out of range for point group '%s' with"
- " reflection %i %i %i\n",
- idx, symmetry_name(ops), h, k, l);
-
- *he = 0; *ke = 0; *le = 0;
-
- return;
-
- }
-
- if ( idx >= n ) {
-
- ERROR("Index %i out of range for point group '%s'\n", idx,
- symmetry_name(ops));
-
- *he = 0; *ke = 0; *le = 0;
- return;
-
- }
-
- do_op(ops->ops[idx], h, k, l, he, ke, le);
+ IntegerMatrix *op;
+ op = get_symop(ops, m, idx);
+ if ( op == NULL ) return;
+ do_op(op, h, k, l, he, ke, le);
}
diff --git a/libcrystfel/src/symmetry.h b/libcrystfel/src/symmetry.h
index 42cbd9b3..d7373ba2 100644
--- a/libcrystfel/src/symmetry.h
+++ b/libcrystfel/src/symmetry.h
@@ -8,6 +8,7 @@
*
* Authors:
* 2010-2014 Thomas White <taw@physics.org>
+ * 2014 Kenneth Beyerlein <kenneth.beyerlein@desy.de>
*
* This file is part of CrystFEL.
*
@@ -61,7 +62,6 @@ extern "C" {
extern void free_symoplist(SymOpList *ops);
extern SymOpList *get_pointgroup(const char *sym);
-extern IntegerMatrix* get_symop(const SymOpList *ops, const SymOpMask *m, int idx);
extern SymOpMask *new_symopmask(const SymOpList *list);
extern void free_symopmask(SymOpMask *m);
@@ -75,6 +75,8 @@ extern int num_equivs(const SymOpList *ops, const SymOpMask *m);
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 IntegerMatrix *get_symop(const SymOpList *ops, const SymOpMask *m,
+ int idx);
extern SymOpList *get_ambiguities(const SymOpList *source,
const SymOpList *target);