summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorGloria Mundi <gloria@gloria-mundi.eu>2024-04-28 19:44:14 +0200
committerGloria Mundi <gloria@gloria-mundi.eu>2024-04-28 19:44:14 +0200
commit2d09c91b8e3a4482ed94fab44ec1aab42ab72da9 (patch)
tree6ed90ac02b644e68bf2241e716a77ce547f82e5a /Makefile
parentd6d3b6183df2e1d40154f406916993f9b15b3cae (diff)
remove all() and sz() from segment tree and add tests
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile15
1 files changed, 14 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 160880f..7d13402 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,6 @@
TESTS = \
+ datastructures/test/segmentTree.test \
+ datastructures/test/segmentTree2.test \
datastructures/test/fenwickTree.test \
datastructures/test/fenwickTree2.test \
datastructures/test/monotonicConvexHull.test \
@@ -31,7 +33,9 @@ cleanpdf:
rm -f *.thm
cleantest:
- rm -f $(TESTS) $(TESTS:.test=.ok)
+ rm -f $(TESTS) $(TESTS:.test=.ok) \
+ datastructures/test/segmentTree.tmp.cpp \
+ datastructures/test/segmentTree2.tmp.cpp
%.ok: %.test
timeout -v 1 ./$<
@@ -40,6 +44,15 @@ cleantest:
g++ -include test.h -std=gnu++20 -Wall -Wextra -Wpedantic -Werror \
-fsanitize=address,undefined -g -o $@ $<
+datastructures/test/segmentTree.test: datastructures/test/segmentTree.cpp \
+ datastructures/test/segmentTree.tmp.cpp
+datastructures/test/segmentTree.tmp.cpp: datastructures/segmentTree.cpp
+ { sed -e '/OR/,$$d' $< ; echo '};' ; } > $@
+datastructures/test/segmentTree2.test: datastructures/test/segmentTree2.cpp \
+ datastructures/test/segmentTree2.tmp.cpp
+datastructures/test/segmentTree2.tmp.cpp: datastructures/segmentTree.cpp
+ sed -e '/void update/,/OR/d' \
+ -e '/remove for range/,/}}/{/}}/!d;s/}}/}/}' $< > $@
datastructures/test/fenwickTree.test: datastructures/test/fenwickTree.cpp \
datastructures/fenwickTree.cpp
datastructures/test/fenwickTree2.test: datastructures/test/fenwickTree2.cpp \