xdiff: rename rindex -> reference_index

The classic diff adds only the lines that it's going to consider,
during the diff, to an array. A mapping between the compacted
array, and the lines of the file that they reference, is
facilitated by this array.

Signed-off-by: Ezekiel Newren <ezekielnewren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
main
Ezekiel Newren 2025-11-18 22:34:22 +00:00 committed by Junio C Hamano
parent 5004a8da14
commit 22ce0cb639
3 changed files with 9 additions and 9 deletions

View File

@ -24,7 +24,7 @@

static size_t get_hash(xdfile_t *xdf, long index)
{
return xdf->recs[xdf->rindex[index]].minimal_perfect_hash;
return xdf->recs[xdf->reference_index[index]].minimal_perfect_hash;
}

#define XDL_MAX_COST_MIN 256
@ -278,10 +278,10 @@ int xdl_recs_cmp(xdfile_t *xdf1, long off1, long lim1,
*/
if (off1 == lim1) {
for (; off2 < lim2; off2++)
xdf2->changed[xdf2->rindex[off2]] = true;
xdf2->changed[xdf2->reference_index[off2]] = true;
} else if (off2 == lim2) {
for (; off1 < lim1; off1++)
xdf1->changed[xdf1->rindex[off1]] = true;
xdf1->changed[xdf1->reference_index[off1]] = true;
} else {
xdpsplit_t spl;
spl.i1 = spl.i2 = 0;

View File

@ -128,7 +128,7 @@ static int xdl_classify_record(unsigned int pass, xdlclassifier_t *cf, xrecord_t

static void xdl_free_ctx(xdfile_t *xdf)
{
xdl_free(xdf->rindex);
xdl_free(xdf->reference_index);
xdl_free(xdf->changed - 1);
xdl_free(xdf->recs);
}
@ -141,7 +141,7 @@ static int xdl_prepare_ctx(unsigned int pass, mmfile_t *mf, long narec, xpparam_
uint8_t const *blk, *cur, *top, *prev;
xrecord_t *crec;

xdf->rindex = NULL;
xdf->reference_index = NULL;
xdf->changed = NULL;
xdf->recs = NULL;

@ -169,7 +169,7 @@ static int xdl_prepare_ctx(unsigned int pass, mmfile_t *mf, long narec, xpparam_

if ((XDF_DIFF_ALG(xpp->flags) != XDF_PATIENCE_DIFF) &&
(XDF_DIFF_ALG(xpp->flags) != XDF_HISTOGRAM_DIFF)) {
if (!XDL_ALLOC_ARRAY(xdf->rindex, xdf->nrec + 1))
if (!XDL_ALLOC_ARRAY(xdf->reference_index, xdf->nrec + 1))
goto abort;
}

@ -312,7 +312,7 @@ static int xdl_cleanup_records(xdlclassifier_t *cf, xdfile_t *xdf1, xdfile_t *xd
i <= xdf1->dend; i++, recs++) {
if (action1[i] == KEEP ||
(action1[i] == INVESTIGATE && !xdl_clean_mmatch(action1, i, xdf1->dstart, xdf1->dend))) {
xdf1->rindex[xdf1->nreff++] = i;
xdf1->reference_index[xdf1->nreff++] = i;
/* changed[i] remains false, i.e. keep */
} else
xdf1->changed[i] = true;
@ -324,7 +324,7 @@ static int xdl_cleanup_records(xdlclassifier_t *cf, xdfile_t *xdf1, xdfile_t *xd
i <= xdf2->dend; i++, recs++) {
if (action2[i] == KEEP ||
(action2[i] == INVESTIGATE && !xdl_clean_mmatch(action2, i, xdf2->dstart, xdf2->dend))) {
xdf2->rindex[xdf2->nreff++] = i;
xdf2->reference_index[xdf2->nreff++] = i;
/* changed[i] remains false, i.e. keep */
} else
xdf2->changed[i] = true;

View File

@ -50,7 +50,7 @@ typedef struct s_xdfile {
size_t nrec;
ptrdiff_t dstart, dend;
bool *changed;
size_t *rindex;
size_t *reference_index;
size_t nreff;
} xdfile_t;