diff options
Diffstat (limited to 'src/likelihood.c')
-rw-r--r-- | src/likelihood.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/likelihood.c b/src/likelihood.c index b6a37994..cb5595f8 100644 --- a/src/likelihood.c +++ b/src/likelihood.c @@ -18,17 +18,17 @@ #include "utils.h" -void scale_intensities(const double *model, double *new_pattern, - const unsigned int *model_counts, - ReflItemList *items, double f0, int f0_valid) +void scale_intensities(const double *model, ReflItemList *model_items, + double *new_pattern, ReflItemList *new_items, + double f0, int f0_valid) { double s; unsigned int i; - unsigned int *new_counts; + ReflItemList *items; - new_counts = items_to_counts(items); - - s = stat_scale_intensity(model, model_counts, new_pattern, new_counts); + items = intersection_items(model_items, new_items); + s = stat_scale_intensity(model, new_pattern, items); + delete_items(items); if ( f0_valid ) printf("%f %f\n", s, f0); /* NaN -> abort */ @@ -38,6 +38,4 @@ void scale_intensities(const double *model, double *new_pattern, for ( i=0; i<LIST_SIZE; i++ ) { new_pattern[i] *= s; } - - free(new_counts); } |