summaryrefslogtreecommitdiffstats
path: root/libdimension
diff options
context:
space:
mode:
Diffstat (limited to 'libdimension')
-rw-r--r--libdimension/bench/Makefile.am1
-rw-r--r--libdimension/bench/prtree.c4
-rw-r--r--libdimension/prtree.h13
-rw-r--r--libdimension/tests/prtree.c5
4 files changed, 15 insertions, 8 deletions
diff --git a/libdimension/bench/Makefile.am b/libdimension/bench/Makefile.am
index b8930e9..d3473de 100644
--- a/libdimension/bench/Makefile.am
+++ b/libdimension/bench/Makefile.am
@@ -31,6 +31,7 @@ array_bench_SOURCES = array.c
geometry_bench_SOURCES = geometry.c
polynomial_bench_SOURCES = polynomial.c
prtree_bench_SOURCES = prtree.c
+prtree_bench_CFLAGS = $(AM_CFLAGS) -finline
bench: $(EXTRA_PROGRAMS)
./array.bench
diff --git a/libdimension/bench/prtree.c b/libdimension/bench/prtree.c
index e8e0b02..7c38990 100644
--- a/libdimension/bench/prtree.c
+++ b/libdimension/bench/prtree.c
@@ -17,7 +17,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
*************************************************************************/
-#include "dimension-internal.h"
+#include "../prtree.c"
+#include "../threads.c"
+#include "../progress.c"
#include <sandglass.h>
#include <stdlib.h>
diff --git a/libdimension/prtree.h b/libdimension/prtree.h
index e799675..733f854 100644
--- a/libdimension/prtree.h
+++ b/libdimension/prtree.h
@@ -38,12 +38,15 @@ typedef struct dmnsn_prtree {
} dmnsn_prtree;
/** Create a PR-tree. */
-dmnsn_prtree *dmnsn_new_prtree(const dmnsn_array *objects);
+DMNSN_INTERNAL dmnsn_prtree *dmnsn_new_prtree(const dmnsn_array *objects);
/** Delete a PR-tree. */
-void dmnsn_delete_prtree(dmnsn_prtree *tree);
+DMNSN_INTERNAL void dmnsn_delete_prtree(dmnsn_prtree *tree);
/** Find the closest ray-object intersection in the tree. */
-bool dmnsn_prtree_intersection(const dmnsn_prtree *tree, dmnsn_line ray,
- dmnsn_intersection *intersection, bool reset);
+DMNSN_INTERNAL bool dmnsn_prtree_intersection(const dmnsn_prtree *tree,
+ dmnsn_line ray,
+ dmnsn_intersection *intersection,
+ bool reset);
/** Determine whether a point is inside any object in the tree. */
-bool dmnsn_prtree_inside(const dmnsn_prtree *tree, dmnsn_vector point);
+DMNSN_INTERNAL bool dmnsn_prtree_inside(const dmnsn_prtree *tree,
+ dmnsn_vector point);
diff --git a/libdimension/tests/prtree.c b/libdimension/tests/prtree.c
index 991d466..2e33368 100644
--- a/libdimension/tests/prtree.c
+++ b/libdimension/tests/prtree.c
@@ -21,8 +21,9 @@
* Basic tests of PR-trees
*/
-#include "dimension-internal.h"
-#define DMNSN_PRTREE_B 8
+#include "../prtree.c"
+#include "../threads.c"
+#include "../progress.c"
#include <stdio.h>
#include <stdlib.h>