aboutsummaryrefslogtreecommitdiff
path: root/src/compare_hkl.c
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2021-02-05 16:32:36 +0100
committerThomas White <taw@physics.org>2021-02-05 16:32:36 +0100
commit252e2e13bded09fd3cd0fd3a1112605b2b97458a (patch)
tree95dcc21a6a71291bd087d287abf8bd58f1e99695 /src/compare_hkl.c
parent04ce5c5c98df8b2d92e8646f8b82e3975f69b50a (diff)
Move fom_type_from_string out of API
If it's needed, we'll replace it with a better piece of API (...which doesn't abort the program in the event of a typo!)
Diffstat (limited to 'src/compare_hkl.c')
-rw-r--r--src/compare_hkl.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/compare_hkl.c b/src/compare_hkl.c
index cb5bee38..a065713f 100644
--- a/src/compare_hkl.c
+++ b/src/compare_hkl.c
@@ -81,6 +81,25 @@ static void show_help(const char *s)
}
+static enum fom_type fom_type_from_string(const char *s)
+{
+ if ( strcasecmp(s, "r1i") == 0 ) return FOM_R1I;
+ if ( strcasecmp(s, "r1f") == 0 ) return FOM_R1F;
+ if ( strcasecmp(s, "r2") == 0 ) return FOM_R2;
+ if ( strcasecmp(s, "rsplit") == 0 ) return FOM_RSPLIT;
+ if ( strcasecmp(s, "cc") == 0 ) return FOM_CC;
+ if ( strcasecmp(s, "ccstar") == 0 ) return FOM_CCSTAR;
+ if ( strcasecmp(s, "ccano") == 0 ) return FOM_CCANO;
+ if ( strcasecmp(s, "crdano") == 0 ) return FOM_CRDANO;
+ if ( strcasecmp(s, "rano") == 0 ) return FOM_RANO;
+ if ( strcasecmp(s, "rano/rsplit") == 0 ) return FOM_RANORSPLIT;
+ if ( strcasecmp(s, "d1sig") == 0 ) return FOM_D1SIG;
+ if ( strcasecmp(s, "d2sig") == 0 ) return FOM_D2SIG;
+
+ ERROR("Unknown figure of merit '%s'.\n", s);
+ exit(1);
+}
+
static void do_fom(RefList *list1, RefList *list2, UnitCell *cell,
double rmin, double rmax, enum fom_type fom,
int config_unity, int nshells, const char *filename,