- ERROR("sum before interpolations: %.3f", sum);
-
- //v1//p = ((double)lower - (double)(lower_bin + 1) * (double)lc->bin_width) / (double)lc->bin_width;
- p = ((double)lower - (double)(lower_bin + 0) * (double)lc->bin_width - (double)DOUBLE_TO_CDTIME_T(0.001)) / (double)lc->bin_width;
- ERROR("interpolation 1: p=%lf, 1=%"PRIu64" (%.3f), 2=%"PRIu64" (%.3f), 3=%"PRIu64" (%.3f); lower_bin: %"PRIu64"",
- p,
- //1
- lower - DOUBLE_TO_CDTIME_T(0.001),
- CDTIME_T_TO_DOUBLE (lower - (double)DOUBLE_TO_CDTIME_T(0.001)),
- //2
- (lower_bin + 0) * lc->bin_width,
- CDTIME_T_TO_DOUBLE ((lower_bin + 0) * lc->bin_width),
- //3
- lc->bin_width,
- CDTIME_T_TO_DOUBLE (lc->bin_width),
- lower_bin
- );
- sum -= p * lc->histogram[lower_bin];
-/*
- if (upper && upper_bin == lower_bin) {
- //p = ((double)(upper_bin + 1) * (double)lc->bin_width - (double)upper) / (double)lc->bin_width;
- p = (double)(upper_bin + 1) - (double)upper / (double)lc->bin_width;
- ERROR("interpolation 2: p=%lf, 1=%"PRIu64" (%.3f), 2=%"PRIu64" (%.3f), 3=%.3f (%.3f); upper_bin: %"PRIu64"",
- p,
- //1
- (upper_bin + 1) * lc->bin_width,
- CDTIME_T_TO_DOUBLE ((upper_bin + 1) * lc->bin_width),
- //2
- upper,
- CDTIME_T_TO_DOUBLE (upper),
- //3
- (double)lc->bin_width,
- CDTIME_T_TO_DOUBLE (lc->bin_width),
- upper_bin
- );
- sum -= p * lc->histogram[upper_bin];
- }
- else
- */
- if (upper && upper < (upper_bin + 1) * lc->bin_width)
- {
- // p = ((upper_bin + 1) * bin_width - upper ) / bin_width;
-
- //p = ((double)upper - (double)(upper_bin + 0) * (double)lc->bin_width) / (double)lc->bin_width;
- p = ((double)(upper_bin + 1) * (double)lc->bin_width - (double)upper) / (double)lc->bin_width;
- ERROR("interpolation 3: p=%lf, 1=%"PRIu64" (%.3f), 2=%"PRIu64" (%.3f), 3=%"PRIu64" (%.3f); upper_bin: %"PRIu64"",
- p,
- //1
- (upper_bin + 1) * lc->bin_width,
- CDTIME_T_TO_DOUBLE ((upper_bin + 1) * lc->bin_width),
- //2
- upper,
- CDTIME_T_TO_DOUBLE (upper),
- //3
- lc->bin_width,
- CDTIME_T_TO_DOUBLE (lc->bin_width),
- upper_bin
- );
- sum -= p * lc->histogram[upper_bin];