A skyline may retain enough total empty area while no longer containing a box for its largest remaining square. Scan for the required consecutive low columns and reject such monotonic dead states. Keep each pruning combination independently measurable and record the small public-path gain, the direct-order-9 regression, and the rejected periodic schedule. Tests: Debug CTest (13 passed) Tests: ASan+UBSan CTest (13 passed) Refs: #15
41 lines
1.5 KiB
CMake
41 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 4.0)
|
|
project(partridge_cpp)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
add_executable(partridge_cpp
|
|
main.cc)
|
|
|
|
option(PARTRIDGE_BUILD_BENCHMARKS "Build the heavyweight benchmark probe" OFF)
|
|
if(PARTRIDGE_BUILD_BENCHMARKS)
|
|
add_executable(partridge_benchmark
|
|
benchmarks/benchmark.cc)
|
|
endif()
|
|
|
|
include(CTest)
|
|
|
|
if(BUILD_TESTING)
|
|
add_executable(partridge_tests
|
|
tests/tests.cc)
|
|
add_test(NAME validator COMMAND partridge_tests validator)
|
|
add_test(NAME construction COMMAND partridge_tests construction)
|
|
add_test(NAME solver-odd-route COMMAND partridge_tests solver-odd-route)
|
|
add_test(NAME rendering COMMAND partridge_tests rendering)
|
|
add_test(NAME solver-small COMMAND partridge_tests solver-small)
|
|
add_test(NAME solver-completion COMMAND partridge_tests solver-completion)
|
|
add_test(NAME search-counters COMMAND partridge_tests search-counters)
|
|
add_test(NAME skyline-search COMMAND partridge_tests skyline-search)
|
|
add_test(NAME d4-symmetry COMMAND partridge_tests d4-symmetry)
|
|
add_test(NAME valley-capacity COMMAND partridge_tests valley-capacity)
|
|
add_test(NAME large-square COMMAND partridge_tests large-square)
|
|
find_package(Python3 COMPONENTS Interpreter)
|
|
if(Python3_Interpreter_FOUND)
|
|
add_test(NAME benchmark-format
|
|
COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/run.py"
|
|
--self-test)
|
|
add_test(NAME reference-support
|
|
COMMAND "${Python3_EXECUTABLE}"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/tests/reference_test.py")
|
|
endif()
|
|
endif()
|