This file is indexed.

/usr/include/astrometry/dualtree.h is in libastrometry-dev 0.70+dfsg-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
# This file is part of libkd.
# Licensed under a 3-clause BSD style license - see LICENSE
*/

/**
   \file

   Dual-tree search.

   Input:
   -a search tree
   -a query tree
   -a function that takes two nodes and returns true if the result set should
   contain that pair of nodes.
   -an extra value that will be passed to the decision function.
   -a function that is called for each pair of leaf nodes.
   (** actually, at least one of the nodes will be a leaf. **)
   -an extra value that will be passed to the leaf-node function

   The query tree is a kd-tree built out of the points you want to query.

   The search and query trees can be the same tree.
*/

#include "astrometry/starutil.h"
#include "astrometry/kdtree.h"

typedef anbool (*decision_function)(void* extra, kdtree_t* searchtree, int searchnode,
								  kdtree_t* querytree, int querynode);
typedef void (*start_of_results_function)(void* extra, kdtree_t* querytree, int querynode);
typedef void (*result_function)(void* extra, kdtree_t* searchtree, int searchnode,
								kdtree_t* querytree, int querynode);
typedef void (*end_of_results_function)(void* extra, kdtree_t* querytree, int querynode);

struct dualtree_callbacks {
	decision_function          decision;
	void*                      decision_extra;
	start_of_results_function  start_results;
	void*                      start_extra;
	result_function            result;
	void*                      result_extra;
	end_of_results_function    end_results;
	void*                      end_extra;
};
typedef struct dualtree_callbacks dualtree_callbacks;

void dualtree_search(kdtree_t* search, kdtree_t* query,
					 dualtree_callbacks* callbacks);