From 0b4786372baf696b2b8f34fc4ae455187c4f6f54 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Thu, 6 Mar 2014 18:23:39 +0100 Subject: Correlate against randomly chosen crystals instead of the next few --- src/ambigator.c | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) (limited to 'src/ambigator.c') diff --git a/src/ambigator.c b/src/ambigator.c index 96309a8d..9aed3b3f 100644 --- a/src/ambigator.c +++ b/src/ambigator.c @@ -40,6 +40,9 @@ #include #include #include +#include +#include +#include #include #include @@ -310,10 +313,11 @@ struct cc_list static struct cc_list *calc_ccs(struct flist **crystals, int n_crystals, - int ncorr, SymOpList *amb) + int ncorr, SymOpList *amb, gsl_rng *rng) { struct cc_list *ccs; int i; + gsl_permutation *p; assert(n_crystals >= ncorr); ncorr++; /* Extra value at end for sentinel */ @@ -321,9 +325,12 @@ static struct cc_list *calc_ccs(struct flist **crystals, int n_crystals, ccs = malloc(n_crystals*sizeof(struct cc_list)); if ( ccs == NULL ) return NULL; + p = gsl_permutation_alloc(n_crystals); + gsl_permutation_init(p); + for ( i=0; idata, n_crystals, sizeof(size_t)); + + for ( l=0; l