From e3f93b71683c4e65d5e351c54174df0fabc11905 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Mon, 28 Jun 2010 12:12:49 +0200 Subject: process_hkl: Use a different (array) indexing method to speed it up lots --- src/utils.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/utils.h') diff --git a/src/utils.h b/src/utils.h index b01725dd..14ef45a7 100644 --- a/src/utils.h +++ b/src/utils.h @@ -176,6 +176,28 @@ static inline double angle_between(double x1, double y1, double z1, #include "list_tmp.h" +/* ----------- Reflection lists indexed by sequence (not indices) ----------- */ + +typedef struct _reflitemlist ReflItemList; /* Opaque */ + +struct refl_item { + signed int h; + signed int k; + signed int l; +}; + +extern void clear_items(ReflItemList *items); +extern ReflItemList *new_items(void); +extern void delete_items(ReflItemList *items); +extern void add_item(ReflItemList *items, + signed int h, signed int k, signed int l); +extern int find_item(ReflItemList *items, + signed int h, signed int k, signed int l); +extern struct refl_item *get_item(ReflItemList *items, int i); +extern int num_items(ReflItemList *items); +extern unsigned int *items_to_counts(ReflItemList *items); + + /* ------------------------------ Message macros ---------------------------- */ #define ERROR(...) fprintf(stderr, __VA_ARGS__) -- cgit v1.2.3