mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-23 01:21:42 +00:00
SCRIPT namespace replacements
This commit is contained in:
committed by
Peter Johnson
parent
ae6c043632
commit
9aca8e0fd6
@@ -21,12 +21,12 @@
|
||||
* @param expected The expected cycle.
|
||||
* @param actual The actual cycle.
|
||||
*/
|
||||
bool IsMatchingCycle(std::span<const frc::Pose2d> expected,
|
||||
std::span<const frc::Pose2d> actual) {
|
||||
bool IsMatchingCycle(std::span<const wpi::math::Pose2d> expected,
|
||||
std::span<const wpi::math::Pose2d> actual) {
|
||||
assert(expected.size() == actual.size());
|
||||
|
||||
// Check actual has expected cycle (forward)
|
||||
wpi::circular_buffer<frc::Pose2d> actualBufferForward{expected.size()};
|
||||
wpi::util::circular_buffer<wpi::math::Pose2d> actualBufferForward{expected.size()};
|
||||
for (size_t i = 0; i < actual.size(); ++i) {
|
||||
actualBufferForward.push_back(actual[i % actual.size()]);
|
||||
}
|
||||
@@ -36,7 +36,7 @@ bool IsMatchingCycle(std::span<const frc::Pose2d> expected,
|
||||
}
|
||||
|
||||
// Check actual has expected cycle (reverse)
|
||||
wpi::circular_buffer<frc::Pose2d> actualBufferReverse{expected.size()};
|
||||
wpi::util::circular_buffer<wpi::math::Pose2d> actualBufferReverse{expected.size()};
|
||||
for (size_t i = 0; i < actual.size(); ++i) {
|
||||
actualBufferReverse.push_front(actual[(1 + i) % actual.size()]);
|
||||
}
|
||||
@@ -56,15 +56,15 @@ TEST(TravelingSalesmanTest, FiveLengthStaticPathWithDistanceCost) {
|
||||
// ...................
|
||||
// ....3.....1........
|
||||
// ...................
|
||||
wpi::array<frc::Pose2d, 5> poses{
|
||||
frc::Pose2d{3_m, 3_m, 0_rad}, frc::Pose2d{11_m, 5_m, 0_rad},
|
||||
frc::Pose2d{9_m, 2_m, 0_rad}, frc::Pose2d{5_m, 5_m, 0_rad},
|
||||
frc::Pose2d{14_m, 3_m, 0_rad}};
|
||||
wpi::util::array<wpi::math::Pose2d, 5> poses{
|
||||
wpi::math::Pose2d{3_m, 3_m, 0_rad}, wpi::math::Pose2d{11_m, 5_m, 0_rad},
|
||||
wpi::math::Pose2d{9_m, 2_m, 0_rad}, wpi::math::Pose2d{5_m, 5_m, 0_rad},
|
||||
wpi::math::Pose2d{14_m, 3_m, 0_rad}};
|
||||
|
||||
frc::TravelingSalesman traveler;
|
||||
wpi::array<frc::Pose2d, 5> solution = traveler.Solve(poses, 500);
|
||||
wpi::math::TravelingSalesman traveler;
|
||||
wpi::util::array<wpi::math::Pose2d, 5> solution = traveler.Solve(poses, 500);
|
||||
|
||||
wpi::array<frc::Pose2d, 5> expected{poses[0], poses[2], poses[4], poses[1],
|
||||
wpi::util::array<wpi::math::Pose2d, 5> expected{poses[0], poses[2], poses[4], poses[1],
|
||||
poses[3]};
|
||||
|
||||
EXPECT_TRUE(IsMatchingCycle(expected, solution));
|
||||
@@ -77,17 +77,17 @@ TEST(TravelingSalesmanTest, FiveLengthDynamicPathWithDistanceCost) {
|
||||
// ...................
|
||||
// ....3.....1........
|
||||
// ...................
|
||||
wpi::array<frc::Pose2d, 5> poses{
|
||||
frc::Pose2d{3_m, 3_m, 0_rad}, frc::Pose2d{11_m, 5_m, 0_rad},
|
||||
frc::Pose2d{9_m, 2_m, 0_rad}, frc::Pose2d{5_m, 5_m, 0_rad},
|
||||
frc::Pose2d{14_m, 3_m, 0_rad}};
|
||||
wpi::util::array<wpi::math::Pose2d, 5> poses{
|
||||
wpi::math::Pose2d{3_m, 3_m, 0_rad}, wpi::math::Pose2d{11_m, 5_m, 0_rad},
|
||||
wpi::math::Pose2d{9_m, 2_m, 0_rad}, wpi::math::Pose2d{5_m, 5_m, 0_rad},
|
||||
wpi::math::Pose2d{14_m, 3_m, 0_rad}};
|
||||
|
||||
frc::TravelingSalesman traveler;
|
||||
std::vector<frc::Pose2d> solution =
|
||||
traveler.Solve(std::span<const frc::Pose2d>{poses}, 500);
|
||||
wpi::math::TravelingSalesman traveler;
|
||||
std::vector<wpi::math::Pose2d> solution =
|
||||
traveler.Solve(std::span<const wpi::math::Pose2d>{poses}, 500);
|
||||
|
||||
ASSERT_EQ(5u, solution.size());
|
||||
wpi::array<frc::Pose2d, 5> expected{poses[0], poses[2], poses[4], poses[1],
|
||||
wpi::util::array<wpi::math::Pose2d, 5> expected{poses[0], poses[2], poses[4], poses[1],
|
||||
poses[3]};
|
||||
|
||||
EXPECT_TRUE(IsMatchingCycle(expected, solution));
|
||||
@@ -100,17 +100,17 @@ TEST(TravelingSalesmanTest, TenLengthStaticPathWithDistanceCost) {
|
||||
// .0.................
|
||||
// .....7..5...8......
|
||||
// ...................
|
||||
wpi::array<frc::Pose2d, 10> poses{
|
||||
frc::Pose2d{2_m, 4_m, 0_rad}, frc::Pose2d{10_m, 1_m, 0_rad},
|
||||
frc::Pose2d{12_m, 1_m, 0_rad}, frc::Pose2d{7_m, 1_m, 0_rad},
|
||||
frc::Pose2d{3_m, 2_m, 0_rad}, frc::Pose2d{9_m, 5_m, 0_rad},
|
||||
frc::Pose2d{5_m, 1_m, 0_rad}, frc::Pose2d{6_m, 5_m, 0_rad},
|
||||
frc::Pose2d{13_m, 5_m, 0_rad}, frc::Pose2d{14_m, 3_m, 0_rad}};
|
||||
wpi::util::array<wpi::math::Pose2d, 10> poses{
|
||||
wpi::math::Pose2d{2_m, 4_m, 0_rad}, wpi::math::Pose2d{10_m, 1_m, 0_rad},
|
||||
wpi::math::Pose2d{12_m, 1_m, 0_rad}, wpi::math::Pose2d{7_m, 1_m, 0_rad},
|
||||
wpi::math::Pose2d{3_m, 2_m, 0_rad}, wpi::math::Pose2d{9_m, 5_m, 0_rad},
|
||||
wpi::math::Pose2d{5_m, 1_m, 0_rad}, wpi::math::Pose2d{6_m, 5_m, 0_rad},
|
||||
wpi::math::Pose2d{13_m, 5_m, 0_rad}, wpi::math::Pose2d{14_m, 3_m, 0_rad}};
|
||||
|
||||
frc::TravelingSalesman traveler;
|
||||
wpi::array<frc::Pose2d, 10> solution = traveler.Solve(poses, 500);
|
||||
wpi::math::TravelingSalesman traveler;
|
||||
wpi::util::array<wpi::math::Pose2d, 10> solution = traveler.Solve(poses, 500);
|
||||
|
||||
wpi::array<frc::Pose2d, 10> expected{poses[0], poses[4], poses[6], poses[3],
|
||||
wpi::util::array<wpi::math::Pose2d, 10> expected{poses[0], poses[4], poses[6], poses[3],
|
||||
poses[1], poses[2], poses[9], poses[8],
|
||||
poses[5], poses[7]};
|
||||
|
||||
@@ -124,19 +124,19 @@ TEST(TravelingSalesmanTest, TenLengthDynamicPathWithDistanceCost) {
|
||||
// .0.................
|
||||
// .....7..5...8......
|
||||
// ...................
|
||||
wpi::array<frc::Pose2d, 10> poses{
|
||||
frc::Pose2d{2_m, 4_m, 0_rad}, frc::Pose2d{10_m, 1_m, 0_rad},
|
||||
frc::Pose2d{12_m, 1_m, 0_rad}, frc::Pose2d{7_m, 1_m, 0_rad},
|
||||
frc::Pose2d{3_m, 2_m, 0_rad}, frc::Pose2d{9_m, 5_m, 0_rad},
|
||||
frc::Pose2d{5_m, 1_m, 0_rad}, frc::Pose2d{6_m, 5_m, 0_rad},
|
||||
frc::Pose2d{13_m, 5_m, 0_rad}, frc::Pose2d{14_m, 3_m, 0_rad}};
|
||||
wpi::util::array<wpi::math::Pose2d, 10> poses{
|
||||
wpi::math::Pose2d{2_m, 4_m, 0_rad}, wpi::math::Pose2d{10_m, 1_m, 0_rad},
|
||||
wpi::math::Pose2d{12_m, 1_m, 0_rad}, wpi::math::Pose2d{7_m, 1_m, 0_rad},
|
||||
wpi::math::Pose2d{3_m, 2_m, 0_rad}, wpi::math::Pose2d{9_m, 5_m, 0_rad},
|
||||
wpi::math::Pose2d{5_m, 1_m, 0_rad}, wpi::math::Pose2d{6_m, 5_m, 0_rad},
|
||||
wpi::math::Pose2d{13_m, 5_m, 0_rad}, wpi::math::Pose2d{14_m, 3_m, 0_rad}};
|
||||
|
||||
frc::TravelingSalesman traveler;
|
||||
std::vector<frc::Pose2d> solution =
|
||||
traveler.Solve(std::span<const frc::Pose2d>{poses}, 500);
|
||||
wpi::math::TravelingSalesman traveler;
|
||||
std::vector<wpi::math::Pose2d> solution =
|
||||
traveler.Solve(std::span<const wpi::math::Pose2d>{poses}, 500);
|
||||
|
||||
ASSERT_EQ(10u, solution.size());
|
||||
wpi::array<frc::Pose2d, 10> expected{poses[0], poses[4], poses[6], poses[3],
|
||||
wpi::util::array<wpi::math::Pose2d, 10> expected{poses[0], poses[4], poses[6], poses[3],
|
||||
poses[1], poses[2], poses[9], poses[8],
|
||||
poses[5], poses[7]};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user