From 73f6a6fca1ea53f86fca05ce0bfe64a74f35645d Mon Sep 17 00:00:00 2001 From: Jiri Vlasak Date: Thu, 27 Feb 2020 13:48:22 +0100 Subject: [PATCH] Add test 26, 27 --- CMakeLists.txt | 2 ++ README.md | 2 ++ src/test26.cc | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/test27.cc | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 156 insertions(+) create mode 100644 src/test26.cc create mode 100644 src/test27.cc diff --git a/CMakeLists.txt b/CMakeLists.txt index 09da4de..4d54143 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,3 +62,5 @@ add_executable(test22 src/test22.cc) add_executable(test23 src/test23.cc) add_executable(test24 src/test24.cc) add_executable(test25 src/test25.cc) +add_executable(test26 src/test26.cc) +add_executable(test27 src/test27.cc) diff --git a/README.md b/README.md index bcfd38c..2edd9ea 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,8 @@ The following are expected in the output along with *plan*: ## Test files There is a list of test files and what they include: +- `test27.cc`: *RRTCE7*: psp, cute, Dijkstra, RS-E, 2D grid +- `test26.cc`: *RRTCE11*: psp, cute, Dijkstra, RS-E, 2D tree - `test25.cc`: *RRTCE16*: psp, cute, Dijkstra, RS-H, 3D grid. - `test24.cc`: *RRTCE15*: psp, cute, Dijkstra, RS-RS, 3D grid. - `test23.cc`: *RRTCE14*: psp, cute, Dijkstra, RS-H, 3D tree. diff --git a/src/test26.cc b/src/test26.cc new file mode 100644 index 0000000..fffa067 --- /dev/null +++ b/src/test26.cc @@ -0,0 +1,76 @@ +#include +#include +#include + +#include "psp.h" +#include "rrtce.h" +#define EPP RRTCE11 + +std::chrono::high_resolution_clock::time_point TSTART_; +std::chrono::high_resolution_clock::time_point TEND_; +inline void TSTART() { TSTART_ = std::chrono::high_resolution_clock::now(); } +inline void TEND() { TEND_ = std::chrono::high_resolution_clock::now(); } +inline double TDIFF() +{ + std::chrono::duration DT_; + DT_ = std::chrono::duration_cast>( + TEND_ - TSTART_ + ); + return DT_.count(); +} +inline void TPRINT(const char *what) +{ + std::cerr << what << ": " << TDIFF() << std::endl; +} + +PSPlanner psp; +EPP epp; +int main() +{ + Json::Value jvi; // JSON input + Json::Value jvo; // JSON output + std::cin >> jvi; + + psp.ps().border( + jvi["slot"][0][0][0].asDouble(), + jvi["slot"][0][0][1].asDouble(), + + jvi["slot"][0][1][0].asDouble(), + jvi["slot"][0][1][1].asDouble(), + + jvi["slot"][0][2][0].asDouble(), + jvi["slot"][0][2][1].asDouble(), + + jvi["slot"][0][3][0].asDouble(), + jvi["slot"][0][3][1].asDouble() + ); + + psp.fe(); + + jvi["goal"][0] = psp.cc().x(); + jvi["goal"][1] = psp.cc().y(); + jvi["goal"][2] = psp.cc().h(); + unsigned int icnt = 0; + for (auto &i: psp.possible_goals()) { + jvi["goals"][icnt][0] = i.x(); + jvi["goals"][icnt][1] = i.y(); + jvi["goals"][icnt][2] = i.h(); + icnt++; + } + jvi["goals"][icnt][0] = psp.cc().x(); + jvi["goals"][icnt][1] = psp.cc().y(); + jvi["goals"][icnt][2] = psp.cc().h(); + + epp.json(jvi); + epp.init(); + epp.sample_dist_type(1); + epp.set_sample(-50, 50, -50, 50, 0, 2 * M_PI); + + + while (epp.next()) {} + + jvo = epp.json(); + jvo["slot"] = jvi["slot"]; + std::cout << jvo << std::endl; + return 0; +} diff --git a/src/test27.cc b/src/test27.cc new file mode 100644 index 0000000..d7b7f0f --- /dev/null +++ b/src/test27.cc @@ -0,0 +1,76 @@ +#include +#include +#include + +#include "psp.h" +#include "rrtce.h" +#define EPP RRTCE7 + +std::chrono::high_resolution_clock::time_point TSTART_; +std::chrono::high_resolution_clock::time_point TEND_; +inline void TSTART() { TSTART_ = std::chrono::high_resolution_clock::now(); } +inline void TEND() { TEND_ = std::chrono::high_resolution_clock::now(); } +inline double TDIFF() +{ + std::chrono::duration DT_; + DT_ = std::chrono::duration_cast>( + TEND_ - TSTART_ + ); + return DT_.count(); +} +inline void TPRINT(const char *what) +{ + std::cerr << what << ": " << TDIFF() << std::endl; +} + +PSPlanner psp; +EPP epp; +int main() +{ + Json::Value jvi; // JSON input + Json::Value jvo; // JSON output + std::cin >> jvi; + + psp.ps().border( + jvi["slot"][0][0][0].asDouble(), + jvi["slot"][0][0][1].asDouble(), + + jvi["slot"][0][1][0].asDouble(), + jvi["slot"][0][1][1].asDouble(), + + jvi["slot"][0][2][0].asDouble(), + jvi["slot"][0][2][1].asDouble(), + + jvi["slot"][0][3][0].asDouble(), + jvi["slot"][0][3][1].asDouble() + ); + + psp.fe(); + + jvi["goal"][0] = psp.cc().x(); + jvi["goal"][1] = psp.cc().y(); + jvi["goal"][2] = psp.cc().h(); + unsigned int icnt = 0; + for (auto &i: psp.possible_goals()) { + jvi["goals"][icnt][0] = i.x(); + jvi["goals"][icnt][1] = i.y(); + jvi["goals"][icnt][2] = i.h(); + icnt++; + } + jvi["goals"][icnt][0] = psp.cc().x(); + jvi["goals"][icnt][1] = psp.cc().y(); + jvi["goals"][icnt][2] = psp.cc().h(); + + epp.json(jvi); + epp.init(); + epp.sample_dist_type(1); + epp.set_sample(-50, 50, -50, 50, 0, 2 * M_PI); + + + while (epp.next()) {} + + jvo = epp.json(); + jvo["slot"] = jvi["slot"]; + std::cout << jvo << std::endl; + return 0; +} -- 2.39.2