]> rtime.felk.cvut.cz Git - hubacji1/iamcar2.git/commitdiff
Add test 26, 27
authorJiri Vlasak <hubacji1@fel.cvut.cz>
Thu, 27 Feb 2020 12:48:22 +0000 (13:48 +0100)
committerJiri Vlasak <hubacji1@fel.cvut.cz>
Thu, 27 Feb 2020 12:51:44 +0000 (13:51 +0100)
CMakeLists.txt
README.md
src/test26.cc [new file with mode: 0644]
src/test27.cc [new file with mode: 0644]

index 09da4de72211189cb41af3c3b427bf58dd9007ec..4d54143a5b6e7d9820547b816e5e51d1933e0ad6 100644 (file)
@@ -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)
index bcfd38c40d64efdedca602b9e17eb93f05164bee..2edd9ea299bc7c8f1137bc565bca7f55236a919c 100644 (file)
--- 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 (file)
index 0000000..fffa067
--- /dev/null
@@ -0,0 +1,76 @@
+#include <chrono>
+#include <iostream>
+#include <jsoncpp/json/json.h>
+
+#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<double> DT_;
+        DT_ = std::chrono::duration_cast<std::chrono::duration<double>>(
+                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 (file)
index 0000000..d7b7f0f
--- /dev/null
@@ -0,0 +1,76 @@
+#include <chrono>
+#include <iostream>
+#include <jsoncpp/json/json.h>
+
+#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<double> DT_;
+        DT_ = std::chrono::duration_cast<std::chrono::duration<double>>(
+                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;
+}