From 651507a27a57e3c695c0007a74aabcdf5719eb65 Mon Sep 17 00:00:00 2001 From: Justin Heyes-Jones Date: Sat, 29 Nov 2025 16:02:48 -0800 Subject: [PATCH 1/6] lose nested folder --- cpp/.clang-format => .clang-format | 0 8puzzle | Bin 0 -> 131976 bytes cpp/8puzzle.cpp => 8puzzle.cpp | 0 findpath | Bin 0 -> 115416 bytes cpp/findpath.cpp => findpath.cpp | 0 cpp/fsa.h => fsa.h | 0 license.txt | 3 ++- cpp/makefile => makefile | 0 ..._Bucharest.cpp => min_path_to_Bucharest.cpp | 0 minpathbucharest | Bin 0 -> 124624 bytes cpp/stlastar.h => stlastar.h | 0 tests | Bin 0 -> 115416 bytes cpp/tests.cpp => tests.cpp | 0 13 files changed, 2 insertions(+), 1 deletion(-) rename cpp/.clang-format => .clang-format (100%) create mode 100755 8puzzle rename cpp/8puzzle.cpp => 8puzzle.cpp (100%) create mode 100755 findpath rename cpp/findpath.cpp => findpath.cpp (100%) rename cpp/fsa.h => fsa.h (100%) rename cpp/makefile => makefile (100%) rename cpp/min_path_to_Bucharest.cpp => min_path_to_Bucharest.cpp (100%) create mode 100755 minpathbucharest rename cpp/stlastar.h => stlastar.h (100%) create mode 100755 tests rename cpp/tests.cpp => tests.cpp (100%) diff --git a/cpp/.clang-format b/.clang-format similarity index 100% rename from cpp/.clang-format rename to .clang-format diff --git a/8puzzle b/8puzzle new file mode 100755 index 0000000000000000000000000000000000000000..345f921f56178806c4b3db30104e02371bd302b2 GIT binary patch literal 131976 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 literal 0 HcmV?d00001 diff --git a/cpp/stlastar.h b/stlastar.h similarity index 100% rename from cpp/stlastar.h rename to stlastar.h diff --git a/tests b/tests new file mode 100755 index 0000000000000000000000000000000000000000..cec55e58078503e4d79d6ee2a242200bb8497a55 GIT binary patch literal 115416 zcmeIb4SZC^)jvMFo5+S24H_l#8iZ=lCA_$R0rHU>gSs;=(ljTM6B^sYr zt8Iy;tyQbRw+5>|w8a+sNTotsZEYX0R;{%)pnV$DT70QZS|k7Ocjny9+|6zh2%x|J zXQP*U&z+ewXU;iu=FFM7v;X_=zkfPVDUZUR7uN~6auSvLulmt^rB22*8&@DuIOBr+ z%kvk^=UexmF6@5Q1tOkTkueY`&RY z@~WlP$QX%FtugrOrM-kBaoG4N*Sj^ISu=`f1oGz3D>BlpH+WPo68TrJ|5Xl5^t?!R zGA{6~+7c_^==f?JV(LwK6xDyn;NN_C=FLr)m9Ra6F2MRP*W7Hn_$Cl2D+!gDGy{{a zPFQU>_;N`A|F-wcFVmmq7R;NIKdT_z7d)mD%D+OTdi7b2RlgMx>lfMJDEY>GyHb>z zDDbWnkGieDp&=Ei+tWO1B?>M++oRUps?-3yD`YYJ4aa+4XW{um+|ST&qyLkf<5Ay; zl5{NIrQxFfk6&3=JHDcP$@sEsE6M=#Zx}Ap@#W`#b>M`BQ#Rf=H*wMSn%e6p;9VLn zRExjk@Gw+AYqj(IF5z^%HSNv3u;WSi28wA;P)3;Z`E4ciACNuHzu%fU9kM>YEYSiXh%h_B_i+^wj)al0?@ z@_`0TLpx|_N4@Q>KGp8`!IEC#v?A->b%!<5c_21M6QrMXCKW>xVXeeVAIm z=eXSVT;NpGa@(Og>o+z8+Uz<&|2vC?{?*9evG&4^2X=UcE(N;0pi4D2ftEc36le;x zwOV{?0l#MYQ4jdC*QXw90ndKXk9cMRkF<|6Mwva}D|wo(+mPFSq2_J>75zQx8vieD zyL=q@`8M!ei2FEC{}pK4HRFD9`{kfxUnP8qxrJIH>&NyhLLTW zH`EDE1kw?w3B(XK0c%xzXJKRqWzR{TB5qfgY=vO z2fpnetFF1)XLNlZ(wpANoA{75iKZ^sXd9t#5(sI@ZoWUdOh$ z`|yUmQCs$&ptd%lAG7R+ya3?btzTqW;Boa^ANAa~v114NKXiN#>?I&k9?>5$%la))8@R52Yk`n zOk2YGsHfDAD#%8uQ%1VlZqpC@<@8UK*`{6{eO1#1YB$Dj-RIaom1y3#OvhM(_iSG? z+KX|dT_q;{x?`*s{%^mNxQcv8&IZZnl-OVOkP+O?%3=QVuSj z=Oym`r22%79cxoIcK8w-pV={TOH;$hEgO6z+gf&b8t(;N2ddRp^0IY>8OvI$*;myy zdy|cgXn~%rMxQ1A1Ep%~fn{oI%S2COt-RZd=jALvA7gG2(tvjl$}AL}J8*%Fk$9g& zIZu>&CgyH!or5wL==uh?O1{=PrvCa*516r|u>Fk&k1ku9y0Z{9k0Bl8ld<3 z9dv0l`57ACc#_jDqX&aqp&#V!Us4S{YtY6tZF)Zy5qjTnFX1GfW@L)}SVgnxxR>Mb=sZLr$L=d^2J z3y{x)`|mm^6VQ{1JSVDc`aT$a9kAy_*pBqkBlWwJO&VO~c2B*hF%|w1%Y8Vov;AmG z`vJhzvlfoS(6c`=9r;FGskU~kodtOq+xJQJ&tMOXy+7dd?{0!EX!c#z)_R3%Px>Ns z8MKdsuhjYs{X^5|TCV_|Ogj|Tdu&EGz_x5f_`B*&px&X`Np9h_!aMzh+TE+ zd1HuaPeBCVp7o&5pe)DR{^;AypvMn7VGDr|�qSIlicYb$XF%Pk>CIM=xSL(Dr2y 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 literal 0 HcmV?d00001 diff --git a/cpp/tests.cpp b/tests.cpp similarity index 100% rename from cpp/tests.cpp rename to tests.cpp From fe9ab7ca3b0f7144b5c4ec49065088228cd81ad0 Mon Sep 17 00:00:00 2001 From: Justin Heyes-Jones Date: Sat, 29 Nov 2025 16:07:19 -0800 Subject: [PATCH 2/6] switch to cmake from makefile --- .gitignore | 1 + CMakeLists.txt | 25 +++++++++++++++++++++++++ makefile | 25 ------------------------- 3 files changed, 26 insertions(+), 25 deletions(-) create mode 100644 CMakeLists.txt delete mode 100644 makefile diff --git a/.gitignore b/.gitignore index 74a239b..c45fbb0 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ cpp/8puzzle cpp/findpath cpp/minpathbucharest cpp/tests +build/ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..b3ebad1 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.10) +project(astar-algorithm-cpp) + +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED True) + +# Header-only library interface (optional but good practice) +add_library(stlastar INTERFACE) +target_include_directories(stlastar INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) + +# Executables +add_executable(8puzzle 8puzzle.cpp) +target_link_libraries(8puzzle stlastar) + +add_executable(findpath findpath.cpp) +target_link_libraries(findpath stlastar) + +add_executable(minpathbucharest min_path_to_Bucharest.cpp) +target_link_libraries(minpathbucharest stlastar) + +# Tests +enable_testing() +add_executable(tests tests.cpp) +target_link_libraries(tests stlastar) +add_test(NAME tests COMMAND tests) diff --git a/makefile b/makefile deleted file mode 100644 index 88e7c4a..0000000 --- a/makefile +++ /dev/null @@ -1,25 +0,0 @@ -all : 8puzzle findpath minpathbucharest tests - -# Set the C++ compiler to g++ -CXX = g++ - -# Set some common C++ flags -CXXFLAGS = -std=c++11 -Wall - -clean : - rm 8puzzle findpath minpathbucharest tests - -minpathbucharest : min_path_to_Bucharest.cpp stlastar.h - $(CXX) $(CXXFLAGS) min_path_to_Bucharest.cpp -o minpathbucharest - -8puzzle : 8puzzle.cpp stlastar.h - $(CXX) $(CXXFLAGS) -Wall 8puzzle.cpp -o 8puzzle - -findpath : findpath.cpp stlastar.h - $(CXX) $(CXXFLAGS) findpath.cpp -o findpath - -tests : tests.cpp 8puzzle findpath minpathbucharest - $(CXX) $(CXXFLAGS) tests.cpp -o tests - -test: tests - ./tests From cbfbfd867767896822286206f5ab133a8c4934cb Mon Sep 17 00:00:00 2001 From: Justin Heyes-Jones Date: Sat, 29 Nov 2025 16:08:09 -0800 Subject: [PATCH 3/6] don't commit exe --- 8puzzle | Bin 131976 -> 0 bytes GEMINI.md | 92 +++++++++++++++++++++++++++++++++++++++++++++++ findpath | Bin 115416 -> 0 bytes minpathbucharest | Bin 124624 -> 0 bytes tests | Bin 115416 -> 0 bytes 5 files changed, 92 insertions(+) delete mode 100755 8puzzle create mode 100644 GEMINI.md delete mode 100755 findpath delete mode 100755 minpathbucharest delete mode 100755 tests diff --git a/8puzzle b/8puzzle deleted file mode 100755 index 345f921f56178806c4b3db30104e02371bd302b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131976 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 for each valid move + bool GetSuccessors(AStarSearch *astarsearch, YourStateClass *parent_node); + + // Cost of moving from this node to the successor + float GetCost(YourStateClass &successor); + + // Returns true if this state is identical to rhs + bool IsSameState(YourStateClass &rhs); + + // Returns a hash of the state (required for std::unordered_set) + size_t Hash(); +}; +``` + +### Usage Pattern +1. Instantiate `AStarSearch astarsearch;`. +2. Create start and goal states. +3. Call `astarsearch.SetStartAndGoalStates(start, goal)`. +4. Loop `astarsearch.SearchStep()` until the state is `SEARCH_STATE_SUCCEEDED` or `SEARCH_STATE_FAILED`. +5. Retrieve the path using `astarsearch.GetSolutionStart()`, `GetSolutionNext()`, etc. +6. Call `astarsearch.FreeSolutionNodes()` and `astarsearch.EnsureMemoryFreed()` to clean up. + +### Testing +* Tests are located in `tests.cpp`. +* Ensure all tests pass with `make test` before submitting changes. diff --git a/findpath b/findpath deleted file mode 100755 index bc151ae2a97a8ddf840fcca3efa707ed076b09d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115416 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 diff --git a/tests b/tests deleted file mode 100755 index cec55e58078503e4d79d6ee2a242200bb8497a55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115416 zcmeIb4SZC^)jvMFo5+S24H_l#8iZ=lCA_$R0rHU>gSs;=(ljTM6B^sYr zt8Iy;tyQbRw+5>|w8a+sNTotsZEYX0R;{%)pnV$DT70QZS|k7Ocjny9+|6zh2%x|J zXQP*U&z+ewXU;iu=FFM7v;X_=zkfPVDUZUR7uN~6auSvLulmt^rB22*8&@DuIOBr+ z%kvk^=UexmF6@5Q1tOkTkueY`&RY z@~WlP$QX%FtugrOrM-kBaoG4N*Sj^ISu=`f1oGz3D>BlpH+WPo68TrJ|5Xl5^t?!R zGA{6~+7c_^==f?JV(LwK6xDyn;NN_C=FLr)m9Ra6F2MRP*W7Hn_$Cl2D+!gDGy{{a zPFQU>_;N`A|F-wcFVmmq7R;NIKdT_z7d)mD%D+OTdi7b2RlgMx>lfMJDEY>GyHb>z zDDbWnkGieDp&=Ei+tWO1B?>M++oRUps?-3yD`YYJ4aa+4XW{um+|ST&qyLkf<5Ay; zl5{NIrQxFfk6&3=JHDcP$@sEsE6M=#Zx}Ap@#W`#b>M`BQ#Rf=H*wMSn%e6p;9VLn zRExjk@Gw+AYqj(IF5z^%HSNv3u;WSi28wA;P)3;Z`E4ciACNuHzu%fU9kM>YEYSiXh%h_B_i+^wj)al0?@ z@_`0TLpx|_N4@Q>KGp8`!IEC#v?A->b%!<5c_21M6QrMXCKW>xVXeeVAIm z=eXSVT;NpGa@(Og>o+z8+Uz<&|2vC?{?*9evG&4^2X=UcE(N;0pi4D2ftEc36le;x zwOV{?0l#MYQ4jdC*QXw90ndKXk9cMRkF<|6Mwva}D|wo(+mPFSq2_J>75zQx8vieD zyL=q@`8M!ei2FEC{}pK4HRFD9`{kfxUnP8qxrJIH>&NyhLLTW zH`EDE1kw?w3B(XK0c%xzXJKRqWzR{TB5qfgY=vO z2fpnetFF1)XLNlZ(wpANoA{75iKZ^sXd9t#5(sI@ZoWUdOh$ z`|yUmQCs$&ptd%lAG7R+ya3?btzTqW;Boa^ANAa~v114NKXiN#>?I&k9?>5$%la))8@R52Yk`n zOk2YGsHfDAD#%8uQ%1VlZqpC@<@8UK*`{6{eO1#1YB$Dj-RIaom1y3#OvhM(_iSG? z+KX|dT_q;{x?`*s{%^mNxQcv8&IZZnl-OVOkP+O?%3=QVuSj z=Oym`r22%79cxoIcK8w-pV={TOH;$hEgO6z+gf&b8t(;N2ddRp^0IY>8OvI$*;myy zdy|cgXn~%rMxQ1A1Ep%~fn{oI%S2COt-RZd=jALvA7gG2(tvjl$}AL}J8*%Fk$9g& zIZu>&CgyH!or5wL==uh?O1{=PrvCa*516r|u>Fk&k1ku9y0Z{9k0Bl8ld<3 z9dv0l`57ACc#_jDqX&aqp&#V!Us4S{YtY6tZF)Zy5qjTnFX1GfW@L)}SVgnxxR>Mb=sZLr$L=d^2J z3y{x)`|mm^6VQ{1JSVDc`aT$a9kAy_*pBqkBlWwJO&VO~c2B*hF%|w1%Y8Vov;AmG z`vJhzvlfoS(6c`=9r;FGskU~kodtOq+xJQJ&tMOXy+7dd?{0!EX!c#z)_R3%Px>Ns z8MKdsuhjYs{X^5|TCV_|Ogj|Tdu&EGz_x5f_`B*&px&X`Np9h_!aMzh+TE+ zd1HuaPeBCVp7o&5pe)DR{^;AypvMn7VGDr|�qSIlicYb$XF%Pk>CIM=xSL(Dr2y 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 From ff695bffc2778a36c7bdbaf266cb6ab7b0640924 Mon Sep 17 00:00:00 2001 From: Justin Heyes-Jones Date: Sun, 7 Dec 2025 21:01:02 -0800 Subject: [PATCH 4/6] ignore release folder --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index c45fbb0..c78edeb 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ cpp/findpath cpp/minpathbucharest cpp/tests build/ +build-release From dfbde03e3789b913203f6aee1f7966f941192d7e Mon Sep 17 00:00:00 2001 From: Justin Heyes-Jones Date: Sun, 7 Dec 2025 21:21:38 -0800 Subject: [PATCH 5/6] Add build instructions and CI --- .github/workflows/c-cpp.yml | 10 +++++++--- README.md | 26 +++++++++++++++----------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index a6adf82..4eec448 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -13,6 +13,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: make test - working-directory: ./cpp - run: make test + - name: Configure CMake + run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug + - name: Build + run: cmake --build build + - name: Test + working-directory: ./build + run: ./test diff --git a/README.md b/README.md index c079b18..fb5773f 100644 --- a/README.md +++ b/README.md @@ -54,21 +54,25 @@ If you wish to be added to the list of known products/educational projects using * Lighthouses AI contest https://github.com/marcan/lighthouses_aicontest * Self-Driving Car Engineer Nanodegree Program https://github.com/vanAken/CarND-Path-Planning-Project -### Compilation +### Building -Enter the cpp folder and run make +Generally you can just include the stlastar.h and, optionally, the fsa.h header files and use it directly. The build instructions below are purely for the test suite and example executables. -#### Introduction +#### Using CMake -This implementation is intended to be simple to read yet fairly -efficient. To build it you can compile, with any recent C++ compiler, -the following files : +Some examples: -For 8-puzzle solver +** Use make and make a debug build ** + ```bash + cmake -S . -B builddebug -DCMAKE_BUILD_TYPE=debug + ``` -* 8puzzle.cpp -* stlastar.h -* optionally fsa.h +** Use Ninja and make a Release build ** + ```bash + cmake -S . -B ninjabuildrelease -DCMAKE_BUILD_TYPE=release + ``` + +In both cases you can execute the build using `make -C [build folder]` or `ninja -C [build folder]`. #### Command line @@ -99,4 +103,4 @@ it if you hit an out of memory assert during the search. Compatibility notes: -This version of the code requires any standards compliant C++ using std C++11 +This version of the code requires any standards compliant C++ using std C++11. To build it requires a minimum cmake version you can find in the `CMakeLists.txt` file. From 73d84c0fd936785f3e0bc83eb0b7afb5b6eb91a2 Mon Sep 17 00:00:00 2001 From: Justin Heyes-Jones Date: Sun, 7 Dec 2025 21:27:38 -0800 Subject: [PATCH 6/6] run tests --- .github/workflows/c-cpp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 4eec448..75be62a 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -19,4 +19,4 @@ jobs: run: cmake --build build - name: Test working-directory: ./build - run: ./test + run: ./tests