mirror of
https://github.com/allemangD/toddcox-visualize.git
synced 2025-11-10 12:02:47 -05:00
working on memoization
This commit is contained in:
2
examples/CMakeLists.txt
Normal file
2
examples/CMakeLists.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
add_executable(memo memotest.cpp)
|
||||
target_link_libraries(memo PRIVATE tc vis-util)
|
||||
53
examples/memotest.cpp
Normal file
53
examples/memotest.cpp
Normal file
@@ -0,0 +1,53 @@
|
||||
#include <geometry.hpp>
|
||||
#include <tc/groups.hpp>
|
||||
#include <iostream>
|
||||
|
||||
int main() {
|
||||
tc::Group g = tc::group::B(3);
|
||||
CosetMemo m(g);
|
||||
|
||||
m.solve({}, {});
|
||||
m.solve({0}, {});
|
||||
m.solve({0}, {0});
|
||||
m.solve({1}, {});
|
||||
m.solve({1}, {1});
|
||||
m.solve({2}, {});
|
||||
m.solve({2}, {2});
|
||||
m.solve({0, 1}, {});
|
||||
m.solve({0, 1}, {0});
|
||||
m.solve({0, 1}, {1});
|
||||
m.solve({0, 1}, {0, 1});
|
||||
m.solve({1, 2}, {});
|
||||
m.solve({1, 2}, {1});
|
||||
m.solve({1, 2}, {2});
|
||||
m.solve({1, 2}, {1, 2});
|
||||
m.solve({0, 2}, {});
|
||||
m.solve({0, 2}, {0});
|
||||
m.solve({0, 2}, {2});
|
||||
m.solve({0, 2}, {0, 2});
|
||||
m.solve({0, 1, 2}, {});
|
||||
m.solve({0, 1, 2}, {0});
|
||||
m.solve({0, 1, 2}, {1});
|
||||
m.solve({0, 1, 2}, {2});
|
||||
m.solve({0, 1, 2}, {0, 1});
|
||||
m.solve({0, 1, 2}, {1, 2});
|
||||
m.solve({0, 1, 2}, {0, 2});
|
||||
m.solve({0, 1, 2}, {0, 1, 2});
|
||||
|
||||
tc::Group big = tc::group::B(8);
|
||||
CosetMemo mbig(big);
|
||||
|
||||
auto s1 = clock();
|
||||
m.solve({0, 1, 2, 3, 4, 5, 6, 7}, {});
|
||||
auto e1 = clock();
|
||||
|
||||
double t1 = (double) (e1 - s1) / (double) CLOCKS_PER_SEC;
|
||||
std::cout << t1 << std::endl;
|
||||
|
||||
auto s2 = clock();
|
||||
m.solve({0, 1, 2, 3, 4, 5, 6, 7}, {});
|
||||
auto e2 = clock();
|
||||
|
||||
double t2 = (double) (e2 - s2) / (double) CLOCKS_PER_SEC;
|
||||
std::cout << t2 << std::endl;
|
||||
}
|
||||
Reference in New Issue
Block a user