KiCad PCB EDA Suite
Loading...
Searching...
No Matches
test_pip_benchmark.cpp File Reference
#include <qa_utils/wx_utils/unit_test_utils.h>
#include <geometry/shape_poly_set.h>
#include <geometry/shape_line_chain.h>
#include <geometry/poly_containment_index.h>
#include <core/profile.h>
#include <nlohmann/json.hpp>
#include <algorithm>
#include <cmath>
#include <filesystem>
#include <fstream>
#include <iomanip>
#include <random>
#include <sstream>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  BOARD_BEST
 

Macros

#define HAS_YSTRIPES_INDEX   0
 

Functions

 BOOST_AUTO_TEST_CASE (CorrectnessAllStrategiesAgree)
 
 BOOST_AUTO_TEST_CASE (CorrectnessEdgeCases)
 
 BOOST_AUTO_TEST_CASE (CorrectnessPolygonWithHoles)
 
 BOOST_AUTO_TEST_CASE (BenchmarkSyntheticPolygons)
 
 if (!fs::exists(dataDir)||fs::is_empty(dataDir))
 
 for (const auto &entry :fs::directory_iterator(dataDir))
 
 for (const auto &polyFile :polyFiles)
 
table push_back ({ "Source", "Layer", "Vertices", "Strategy", "Build(us)", "ns/query", "Mquery/s", "Inside" })
 
 for (auto &board :boards)
 
 BOOST_TEST_MESSAGE ("\n=== Real-World Polygon PIP Benchmark ===\n"<< formatTable(table))
 
 BOOST_CHECK_MESSAGE (totalMismatches==0, std::to_string(totalMismatches)+" board(s) with strategy disagreements")
 
std::ofstream jsonFile ("pip_benchmark_results.json")
 
 if (jsonFile.is_open())
 
 for (const auto &s :strategyNames) header.push_back(s -> Name()+" ns/q")
 
table push_back (header)
 
 for (int vc :vertexCounts)
 

Variables

std::vector< fs::pathpolyFiles
 
std::vector< BOARD_BESTboards
 
const int queryPointCount = 5000
 
const uint32_t seed = 54321
 
std::vector< std::vector< std::string > > table
 
nlohmann::json jsonResults = nlohmann::json::array()
 
int totalMismatches = 0
 
nlohmann::json output = jsonResults
 
auto strategyNames = makeAllStrategies()
 
size_t numStrategies = strategyNames.size()
 
std::vector< std::string > header = { "Vertices" }
 

Macro Definition Documentation

◆ HAS_YSTRIPES_INDEX

#define HAS_YSTRIPES_INDEX   0

Definition at line 41 of file test_pip_benchmark.cpp.

Function Documentation

◆ BOOST_AUTO_TEST_CASE() [1/4]

BOOST_AUTO_TEST_CASE ( BenchmarkSyntheticPolygons )

Definition at line 654 of file test_pip_benchmark.cpp.

References BOOST_TEST_MESSAGE(), name, queryPointCount, seed, and table.

◆ BOOST_AUTO_TEST_CASE() [2/4]

BOOST_AUTO_TEST_CASE ( CorrectnessAllStrategiesAgree )

◆ BOOST_AUTO_TEST_CASE() [3/4]

BOOST_AUTO_TEST_CASE ( CorrectnessEdgeCases )

Definition at line 561 of file test_pip_benchmark.cpp.

References BOOST_CHECK_MESSAGE(), result, and square().

◆ BOOST_AUTO_TEST_CASE() [4/4]

◆ BOOST_CHECK_MESSAGE()

BOOST_CHECK_MESSAGE ( totalMismatches = =0,
std::to_string(totalMismatches)+" board(s) with strategy disagreements"  )

References totalMismatches.

Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_DATA_TEST_CASE(), BOOST_DATA_TEST_CASE_F(), BOOST_DATA_TEST_CASE_F(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), CHECK_COLLECTIONS_SAME_UNORDERED(), CheckCountWithTolerance(), LABEL_BBOX_FIXTURE::CheckLabelBodyBoundingBox(), LABEL_BBOX_FIXTURE::CheckTextBoundingBoxWidth(), KI_TEST::CheckUnorderedMatches(), LoadAndVerify(), LoadBinary(), RunBoardLoad(), RunStructuralChecks(), and RunStructuralChecks().

◆ BOOST_TEST_MESSAGE()

BOOST_TEST_MESSAGE ( )

References table.

Referenced by AssertNoErrors(), AssertOutlineValid(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_DATA_TEST_CASE(), BOOST_DATA_TEST_CASE(), BOOST_DATA_TEST_CASE(), BOOST_DATA_TEST_CASE(), BOOST_DATA_TEST_CASE_F(), BOOST_DATA_TEST_CASE_F(), BOOST_DATA_TEST_CASE_F(), BOOST_DATA_TEST_CASE_F(), BOOST_DATA_TEST_CASE_F(), BOOST_DATA_TEST_CASE_F(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), LABEL_BBOX_FIXTURE::CheckLabelBodyBoundingBox(), LABEL_BBOX_FIXTURE::CheckTextBoundingBoxWidth(), DRC_BASE_FIXTURE::createAndVerifyAdditionalUnconnectedExclusions(), DRC_BASE_FIXTURE::createAndVerifyInitialExclusionMarkers(), createTestCases(), KI_TEST::BOARD_DUMPER::DumpBoardToFile(), dumpObstacles(), for(), ALLEGRO_COMPREHENSIVE_FIXTURE::GetAllBoardFiles(), if(), if(), KI_TEST::IsSexprOfType(), KI_TEST::IsSexprValueEqual(), KI_TEST::LoadAndTestBoardFile(), KI_TEST::LoadAndTestFootprintFile(), KI_TEST::LoadBoard(), DRC_BASE_FIXTURE::loadBoardAndVerifyInitialExclusions(), KI_TEST::CAPTURING_REPORTER::PrintAllMessages(), KI_TEST::PrintBoardStats(), DRC_BASE_FIXTURE::reloadBoardAndVerifyExclusions(), ISSUE22864_FIXTURE::RunAlignmentAndVerify(), ISSUE22864_FIXTURE::RunAlignmentAndVerifyNoSkew(), ALLEGRO_BLOCK_TEST_FIXTURE::RunBlockTest(), RunBoardLoad(), DRC_BASE_FIXTURE::runDrcOnBoard(), ALLEGRO_BLOCK_TEST_FIXTURE::RunHeaderTest(), ITEM_EVAL_EXPECTATION::RunTest(), KI_TEST::BOARD_EXPECTATION_TEST::RunTest(), PNS_TEST_FIXTURE::RunTest(), DRC_BASE_FIXTURE::SaveBoardToFile(), scanAndHashBoards(), KI_TEST::SexprIsListOfLength(), TableDataEqual(), testEvalExpr(), testProtoFromKiCadObject(), textFilesMatch(), FileCleaner::~FileCleaner(), and TEST_NETLIST_EXPORTER_SPICE_FIXTURE::~TEST_NETLIST_EXPORTER_SPICE_FIXTURE().

◆ for() [1/5]

◆ for() [2/5]

for ( const auto &entry :fs::directory_iteratordataDir)

Definition at line 724 of file test_pip_benchmark.cpp.

References polyFiles.

◆ for() [3/5]

for ( const auto &polyFile :polyFiles )

Definition at line 741 of file test_pip_benchmark.cpp.

References boards, and polyFiles.

◆ for() [4/5]

for ( const auto &s :strategyNames ) -> Name()+" ns/q")

References header, strategyNames, and table.

◆ for() [5/5]

for ( int vc :vertexCounts )

Definition at line 872 of file test_pip_benchmark.cpp.

References SHAPE_POLY_SET::BBox(), numStrategies, queryPointCount, seed, and table.

◆ if() [1/2]

if ( ! fs::existsdataDir)||fs::is_empty(dataDir)

Definition at line 716 of file test_pip_benchmark.cpp.

References BOOST_TEST_MESSAGE().

◆ if() [2/2]

if ( jsonFile. is_open())

Definition at line 844 of file test_pip_benchmark.cpp.

References BOOST_TEST_MESSAGE(), jsonFile(), and output.

◆ jsonFile()

std::ofstream jsonFile ( "pip_benchmark_results.json" )

Referenced by if(), and jsonFile().

◆ push_back() [1/2]

table push_back ( header )

References header, and table.

◆ push_back() [2/2]

Variable Documentation

◆ boards

◆ header

◆ jsonResults

nlohmann::json jsonResults = nlohmann::json::array()

Definition at line 771 of file test_pip_benchmark.cpp.

Referenced by for().

◆ numStrategies

size_t numStrategies = strategyNames.size()

Definition at line 862 of file test_pip_benchmark.cpp.

Referenced by for().

◆ output

◆ polyFiles

std::vector<fs::path> polyFiles

Definition at line 722 of file test_pip_benchmark.cpp.

Referenced by BOOST_AUTO_TEST_CASE(), for(), for(), and jsonFile().

◆ queryPointCount

const int queryPointCount = 5000

Definition at line 764 of file test_pip_benchmark.cpp.

Referenced by BOOST_AUTO_TEST_CASE(), for(), and for().

◆ seed

◆ strategyNames

auto strategyNames = makeAllStrategies()

Definition at line 861 of file test_pip_benchmark.cpp.

Referenced by for().

◆ table

std::vector< std::vector< std::string > > table

Definition at line 767 of file test_pip_benchmark.cpp.

Referenced by DESIGN_BLOCK_PANE::AddDesignBlockLibrary(), BOARD_ADAPTER::addFootprintShapes(), PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_LIBRARY_MANAGER::addLibrary(), SYMBOL_EDIT_FRAME::AddLibraryFile(), SYMBOL_EDIT_FRAME::addLibTableEntry(), PANEL_DESIGN_BLOCK_LIB_TABLE::AddTable(), PANEL_SYM_LIB_TABLE::AddTable(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_TEST_MESSAGE(), Build_Board_Characteristics_Table(), Build_Board_Stackup_Table(), EXPORTER_STEP::buildGraphic3DShape(), SCH_IO_DATABASE::cacheLib(), PCB_GRID_HELPER::computeAnchors(), BOARD::ConvertBrdLayerToPolygonalContours(), EDIT_TOOL::copyToClipboardAsText(), LIBRARY_MANAGER::CreateGlobalTable(), BOARD_ADAPTER::createLayers(), createTable(), SYMBOL_EDIT_FRAME::DdAddLibrary(), EDIT_TABLE_TOOL_BASE< T_TABLE, T_TABLECELL, T_COMMIT >::doAddColumnAfter(), EDIT_TABLE_TOOL_BASE< T_TABLE, T_TABLECELL, T_COMMIT >::doAddColumnBefore(), EDIT_TABLE_TOOL_BASE< T_TABLE, T_TABLECELL, T_COMMIT >::doAddRowAbove(), EDIT_TABLE_TOOL_BASE< T_TABLE, T_TABLECELL, T_COMMIT >::doAddRowBelow(), EDIT_TABLE_TOOL_BASE< T_TABLE, T_TABLECELL, T_COMMIT >::doDeleteColumns(), EDIT_TABLE_TOOL_BASE< T_TABLE, T_TABLECELL, T_COMMIT >::doDeleteRows(), EDIT_TABLE_TOOL_BASE< T_TABLE, T_TABLECELL, T_COMMIT >::doMergeCells(), EDIT_TABLE_TOOL_BASE< T_TABLE, T_TABLECELL, T_COMMIT >::doUnmergeCells(), GRID_CELL_TEXT_RENDERER::Draw(), DRAWING_TOOL::DrawTable(), SCH_DRAWING_TOOLS::DrawTable(), PCB_EDIT_TABLE_TOOL::EditTable(), SCH_EDIT_TABLE_TOOL::EditTable(), WX_GRID::EnableAlternateRowColors(), EnsureRemoteLibraryEntry(), PCB_EDIT_TABLE_TOOL::ExportTableToCSV(), SCH_EDIT_TABLE_TOOL::ExportTableToCSV(), STARTWIZARD_PROVIDER_LIBRARIES::Finish(), EDIT_TOOL::Flip(), for(), for(), for(), SCH_IO_KICAD_SEXPR::Format(), GRID_CELL_TEXT_RENDERER::GetBestSize(), PCB_TABLECELL::GetColumn(), SCH_TABLECELL::GetColumn(), DESIGN_BLOCK_LIB_TABLE_GRID_DATA_MODEL::getFileTypes(), FP_LIB_TABLE_GRID_DATA_MODEL::getFileTypes(), SYMBOL_LIB_TABLE_GRID_DATA_MODEL::getFileTypes(), PCB_TABLECELL::GetRow(), SCH_TABLECELL::GetRow(), GetSchItemAsText(), SCH_TABLECELL::GetShownText(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), hash_fp_item(), PCB_SELECTION_TOOL::hitTestDistance(), FEATURES_MANAGER::InitFeatureList(), TEST_BOARD_ITEM_FIXTURE::Instantiate(), TEST_EE_ITEM_FIXTURE::Instantiate(), SCH_EDIT_FRAME::KiwayMailIn(), PANEL_FP_EDITOR_FIELD_DEFAULTS::loadFPSettings(), PANEL_FP_USER_LAYER_NAMES::loadFPSettings(), LIBRARY_MANAGER::LoadGlobalTables(), SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile(), SCH_IO_EAGLE::LoadSchematicFile(), SCH_IO_EASYEDAPRO::LoadSchematicFile(), SCH_EDIT_FRAME::LoadSheetFromFile(), SCH_IO_DATABASE::LoadSymbol(), LIBRARY_MANAGER::loadTables(), alg::longest_common_subset(), PANEL_FP_EDITOR_FIELD_DEFAULTS::OnAddTextItem(), LIB_TABLE_GRID_TRICKS::onCharHook(), LIB_TABLE_GRID_TRICKS::onGridCellLeftClick(), PANEL_FP_USER_LAYER_NAMES::onLayerChange(), PANEL_FP_LIB_TABLE::onReset(), PANEL_SYM_LIB_TABLE::onReset(), SCH_EDIT_FRAME::OpenProjectFiles(), BOARD::cmp_drawings::operator()(), PANEL_DESIGN_BLOCK_LIB_TABLE::PANEL_DESIGN_BLOCK_LIB_TABLE(), PANEL_FP_LIB_TABLE::PANEL_FP_LIB_TABLE(), PANEL_SYM_LIB_TABLE::PANEL_SYM_LIB_TABLE(), PCB_IO_EASYEDAPRO_PARSER::ParseBoard(), PCB_IO_KICAD_SEXPR_PARSER::parseFOOTPRINT_unchecked(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_TABLE(), SCH_IO_KICAD_SEXPR_PARSER::parseSchTable(), PCB_CONTROL::PlaceCharacteristics(), PCB_CONTROL::PlaceStackup(), BRDITEMS_PLOTTER::PlotBoardGraphicItem(), BRDITEMS_PLOTTER::PlotFootprintGraphicItems(), EDIT_TOOL::Properties(), SCH_EDIT_TOOL::Properties(), push_back(), push_back(), ALTIUM_BINARY_PARSER::ReadWideStringTable(), SYMBOL_EDIT_FRAME::replaceLibTableEntry(), SCH_EDIT_TOOL::Rotate(), LIBRARY_MANAGER::Rows(), CLIPBOARD_IO::SaveSelection(), PCB_SELECTION_TOOL::SelectColumns(), SCH_SELECTION_TOOL::SelectColumns(), PCB_SELECTION_TOOL::SelectRows(), SCH_SELECTION_TOOL::SelectRows(), PCB_SELECTION_TOOL::SelectTable(), SCH_SELECTION_TOOL::SelectTable(), PCB_TABLECELL::SetColumnWidth(), SCH_TABLECELL::SetColumnWidth(), PCB_TABLECELL::SetRowHeight(), SCH_TABLECELL::SetRowHeight(), PCB_TABLE::swapData(), SCH_TABLE::swapData(), DIALOG_SWAP_LAYERS::TransferDataFromWindow(), PANEL_FP_EDITOR_FIELD_DEFAULTS::TransferDataFromWindow(), PANEL_FP_USER_LAYER_NAMES::TransferDataFromWindow(), PCB_TABLECELL_POINT_EDIT_BEHAVIOR::UpdateItem(), SCH_TABLECELL_POINT_EDIT_BEHAVIOR::UpdateItem(), TUNER_SLIDER::updateValueText(), and EDIT_TABLE_TOOL_BASE< T_TABLE, T_TABLECELL, T_COMMIT >::validatePasteIntoSelection().

◆ totalMismatches

int totalMismatches = 0

Definition at line 772 of file test_pip_benchmark.cpp.

Referenced by BOOST_CHECK_MESSAGE(), and for().