Mailing List Archive

r3674 - trunk/c_src/KinoSearch/Highlight
Author: creamyg
Date: 2008-07-29 20:29:12 -0700 (Tue, 29 Jul 2008)
New Revision: 3674

Modified:
trunk/c_src/KinoSearch/Highlight/HeatMap.c
trunk/c_src/KinoSearch/Highlight/HighlightSpan.bp
trunk/c_src/KinoSearch/Highlight/HighlightSpan.c
trunk/c_src/KinoSearch/Highlight/Highlighter.c
Log:
Move HighlightSpan comparison routine out of HeatMap and into HighlightSpan.


Modified: trunk/c_src/KinoSearch/Highlight/HeatMap.c
===================================================================
--- trunk/c_src/KinoSearch/Highlight/HeatMap.c 2008-07-30 03:20:39 UTC (rev 3673)
+++ trunk/c_src/KinoSearch/Highlight/HeatMap.c 2008-07-30 03:29:12 UTC (rev 3674)
@@ -20,10 +20,10 @@
self->spans = NULL;
self->window = window;

- VA_Sort(spans_copy, HeatMap_compare_spans);
+ VA_Sort(spans_copy, HLSpan_compare);
spans_plus_boosts = HeatMap_Generate_Proximity_Boosts(self, spans_copy);
VA_Push_VArray(spans_plus_boosts, spans_copy);
- VA_Sort(spans_plus_boosts, HeatMap_compare_spans);
+ VA_Sort(spans_plus_boosts, HLSpan_compare);
self->spans = HeatMap_Flatten_Spans(self, spans_plus_boosts);
REFCOUNT_DEC(spans_copy);
REFCOUNT_DEC(spans_plus_boosts);
@@ -37,16 +37,6 @@
return (u32_t)Native_callback_i(self, "_hottest", 0);
}

-int
-HeatMap_compare_spans(const void *va, const void *vb)
-{
- HighlightSpan *a = *(HighlightSpan**)va;
- HighlightSpan *b = *(HighlightSpan**)vb;
- int comparison = a->start_offset - b->start_offset;
- if (comparison == 0) comparison = a->length - b->length;
- return comparison;
-}
-
static int
compare_u32(const void *va, const void *vb)
{
@@ -154,7 +144,7 @@
HeatMap_calc_proximity_boost(HeatMap *self, HighlightSpan *span1,
HighlightSpan *span2)
{
- int comparison = HeatMap_compare_spans(&span1, &span2);
+ int comparison = HLSpan_compare(&span1, &span2);
HighlightSpan *lower = comparison <= 0 ? span1 : span2;
HighlightSpan *upper = comparison >= 0 ? span1 : span2;
i32_t lower_end_offset = lower->start_offset + lower->length;

Modified: trunk/c_src/KinoSearch/Highlight/HighlightSpan.bp
===================================================================
--- trunk/c_src/KinoSearch/Highlight/HighlightSpan.bp 2008-07-30 03:20:39 UTC (rev 3673)
+++ trunk/c_src/KinoSearch/Highlight/HighlightSpan.bp 2008-07-30 03:29:12 UTC (rev 3674)
@@ -13,6 +13,9 @@
static HighlightSpan*
init(HighlightSpan *self, u32_t start_offset, u32_t length,
float weight);
+
+ static int
+ compare(const void *va, const void *vb);
}

/* Copyright 2008 Marvin Humphrey

Modified: trunk/c_src/KinoSearch/Highlight/HighlightSpan.c
===================================================================
--- trunk/c_src/KinoSearch/Highlight/HighlightSpan.c 2008-07-30 03:20:39 UTC (rev 3673)
+++ trunk/c_src/KinoSearch/Highlight/HighlightSpan.c 2008-07-30 03:29:12 UTC (rev 3674)
@@ -20,6 +20,16 @@
return self;
}

+int
+HLSpan_compare(const void *va, const void *vb)
+{
+ HighlightSpan *a = *(HighlightSpan**)va;
+ HighlightSpan *b = *(HighlightSpan**)vb;
+ int comparison = a->start_offset - b->start_offset;
+ if (comparison == 0) comparison = a->length - b->length;
+ return comparison;
+}
+
/* Copyright 2006-2008 Marvin Humphrey
*
* This program is free software; you can redistribute it and/or modify

Modified: trunk/c_src/KinoSearch/Highlight/Highlighter.c
===================================================================
--- trunk/c_src/KinoSearch/Highlight/Highlighter.c 2008-07-30 03:20:39 UTC (rev 3673)
+++ trunk/c_src/KinoSearch/Highlight/Highlighter.c 2008-07-30 03:29:12 UTC (rev 3674)
@@ -92,7 +92,7 @@

top = Highlighter_Raw_Excerpt(self, (CharBuf*)field_val,
(CharBuf*)&fragment, raw_excerpt, top, edges);
- VA_Sort(score_spans, HeatMap_compare_spans);
+ VA_Sort(score_spans, HLSpan_compare);
Highlighter_highlight_excerpt(self, score_spans, raw_excerpt,
highlighted, top);



_______________________________________________
kinosearch-commits mailing list
kinosearch-commits@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch-commits