This website requires JavaScript.
c131f520f4
Add crate doc front-page, and update readme
docs
warrence
2026-07-14 20:01:08 +02:00
b6c27ea605
Merge branch 'main' into docs
warrence
2026-07-14 09:54:17 +02:00
5b30151010
Merge pull request 'Minor fixes' (#5 ) from fixes-minor into main
main
0.2.2
warrence
2026-07-13 10:58:50 +02:00
2f549cc506
Update package version
warrence
2026-07-13 10:49:25 +02:00
cf31ee2f01
Replace VertexMap/EdgeMap.len with capacity
warrence
2026-07-13 10:48:16 +02:00
e58261ba47
Add BfsImplResult and DfsImplResult as named return structs
warrence
2026-07-10 13:12:30 +02:00
fb9dfe8280
Renamed len() to capacity() in EntityMap, VertexMap, and EdgeMap
fixes-major
warrence
2026-07-10 11:58:45 +02:00
818b37ec15
Add linter warning for missing docs
warrence
2026-07-10 10:18:39 +02:00
dd0399dcdd
Merge pull request 'Add prelude' (#4 ) from feature/prelude into main
0.2.1
warrence
2026-07-07 11:45:41 +02:00
3c4391ac1d
Update package version
warrence
2026-07-07 11:44:57 +02:00
bbd9506bbc
Add prelude module for common traits
warrence
2026-07-07 11:44:17 +02:00
4b3586b1eb
Merge pull request 'Type additions and renames' (#3 ) from dev into main
0.2.0
warrence
2026-07-06 19:13:13 +02:00
c8dda39b98
Update package version
warrence
2026-07-06 18:50:22 +02:00
1446103d34
Add concrete type aliases of VertexMap and EdgeMap for Graph and AppendGraph
warrence
2026-07-06 18:49:02 +02:00
266dee783b
Rename append_graph::Incidence to Edge to unify public naming
warrence
2026-07-06 17:52:42 +02:00
e3a24894f6
Changed graph::Vertex and graph::Edge to be public to simplify Graph usage
warrence
2026-07-06 17:51:15 +02:00
6d2d1de8ea
Hide testing macros from docs
warrence
2026-07-03 22:49:14 +02:00
2d400628f7
Re-publish AppendGraph and Graph in models
warrence
2026-07-03 21:49:28 +02:00
6a0c426c77
Rename find_path* algorithms to dfs_find_path*
warrence
2026-07-03 21:43:55 +02:00
4f08eb453f
Merge pull request 'Initial release' (#1 ) from dev into main
0.1.0
warrence
2026-06-30 10:26:49 +02:00
db79da7301
Update cargo package metadata
warrence
2026-06-30 10:23:27 +02:00
6b742a53f5
Update cargo package metadata
warrence
2026-06-30 10:21:05 +02:00
fb64e370dc
Update readme and license information
warrence
2026-06-29 21:04:48 +02:00
21c95b4796
Add find_path algorithm and tests
warrence
2026-06-29 21:03:10 +02:00
f009a86f1e
Add GraphTopology.incidence_cursor() for certain use-cases where the iterator is problematic
warrence
2026-06-26 23:36:41 +02:00
c197766229
Fix formatting
warrence
2026-06-26 15:38:49 +02:00
c147ed4974
Update breadth-first search tests
warrence
2026-06-26 15:35:23 +02:00
135f256141
Add depth-first search algorithms and tests
warrence
2026-06-26 15:34:42 +02:00
91ac925417
Add breadth-first search algorithms and tests
warrence
2026-06-25 21:54:49 +02:00
e299012948
Move the disconnected test graph to the more general graph_topology_test_fixtures macro
warrence
2026-06-25 20:17:55 +02:00
3adfb4b9eb
Add todo for custom weight type for Dijkstra's algorithm
warrence
2026-05-18 16:15:46 +02:00
ce692cb0b2
Add trait imports to test functions, making macros self-contained
warrence
2026-05-18 15:55:56 +02:00
465a383683
Add tests for Dijkstra's algorithm with edge weights
warrence
2026-05-18 12:48:12 +02:00
25b5d7864a
Refactor Dijkstra test assertions into new functions
warrence
2026-05-18 12:45:28 +02:00
13daf20e1c
Update test names for Dijkstra's algorithm to match the tested functions
warrence
2026-05-13 14:04:07 +02:00
600664acb6
Update tests for Dijkstra's algorithm to test both graph models
warrence
2026-05-13 14:02:07 +02:00
e479074151
Remove todo, proposed change would not affect callers
warrence
2026-05-13 12:18:27 +02:00
aaa1b34db3
Add todo that was accidentally removed
warrence
2026-05-13 12:16:10 +02:00
f862ac55ec
Add GraphTopology::incident_edges() and tests
warrence
2026-05-13 10:59:38 +02:00
384dca2d20
Fix inconsistent local var name in test function
warrence
2026-05-13 10:58:47 +02:00
340fde2133
Add Graph::raw_incidences() iterator as a wrapper for step_incidence()
warrence
2026-05-13 10:32:37 +02:00
6191def324
Fix format
warrence
2026-05-13 10:30:36 +02:00
ff148532ab
Move maps tests to integration tests
warrence
2026-05-12 18:32:45 +02:00
f1d5ccafd2
Add len() for VertexMap and EdgeMap
warrence
2026-05-12 18:25:22 +02:00
be63527478
Add incident vertices to edges return value in make_test_graph() fixture
warrence
2026-05-12 13:55:04 +02:00
ac688b4fc0
Extracted some assert code for GraphTopology::incidences into new fn
warrence
2026-05-12 13:39:13 +02:00
f45fc98afc
Add GraphTopology::incident_vertices and tests
warrence
2026-05-12 13:37:27 +02:00
85e25ef0ca
Refactor Graph iterator structs into private method used with std::iter::from_fn()
warrence
2026-05-08 20:48:43 +02:00
2eb054eb0c
Refactor AppendGraph iterators into one RawIncidenceIterator
warrence
2026-05-08 20:40:20 +02:00
0f5f0d67d2
Update Dijkstra's to use incidences instead of neighbors, and with it custom edge weights
warrence
2026-05-08 13:16:23 +02:00
0bcd270d12
Add GraphTopology::incidences(), update and add related tests
warrence
2026-05-08 13:12:23 +02:00
d3fcd690a5
Remove deprecated From<Vertex> for usize implementation
warrence
2026-05-08 12:57:16 +02:00
4e47573290
Renamed the private graph iterators to attune for upcoming changes
warrence
2026-05-07 18:01:16 +02:00
a7be995e34
Change "neighbor" terminology to "adjacent vertex" throughout the code
warrence
2026-05-07 17:34:20 +02:00
726e7691ea
Add weight parameter for Dijkstra's algorithm, add unweighted variants (unused)
warrence
2026-05-07 17:15:34 +02:00
6fe3acb306
Add EdgeMap and private generic EntityMap, update tests
warrence
2026-05-07 16:03:17 +02:00
e074fdf944
Move edge_count() in method order
warrence
2026-05-07 11:38:15 +02:00
016cece626
Update VertexMap tests to validate both graph models
warrence
2026-05-07 00:12:06 +02:00
7f91743b02
Add VertexMap tests for Graph (vertex deletion)
warrence
2026-05-06 23:37:48 +02:00
166b91cdd2
Update Dijkstra's algorithm to use VertexMap
warrence
2026-05-06 20:28:53 +02:00
f40c03b113
Add VertexMap to attach data to vertices
warrence
2026-05-06 20:28:00 +02:00
6e9867a65e
Add GraphTopology::edges() and tests
warrence
2026-05-05 22:54:33 +02:00
c589095737
Add test for GraphTopology::vertices() after delete
warrence
2026-05-05 22:52:07 +02:00
18245b9955
Add Copy and Eq traits to GraphTopology::Edge
warrence
2026-05-05 22:37:32 +02:00
feaca335b1
Add loops and multi-edges to the test graph, fix neighbors() test
warrence
2026-05-05 19:21:48 +02:00
8324f93ebd
Add graph topology test helper macros to deduplicate test code
warrence
2026-04-30 17:41:53 +02:00
09c5850ff3
Add Graph::delete_vertex() implementation
warrence
2026-04-29 20:50:19 +02:00
b3dc0ea666
Add test for Graph vertex deletion with loop
warrence
2026-04-29 20:49:34 +02:00
5b0d6ca1ad
Fix Graph::delete_edge() for paired index with loops
warrence
2026-04-29 18:24:10 +02:00
2793f8af8a
Add Graph::delete_edge() implementation
warrence
2026-04-28 17:39:32 +02:00
ceedea6a0f
Fix formatting
warrence
2026-04-28 17:38:41 +02:00
8e0b3325f5
Update and adds tests for Graph edge deletion
warrence
2026-04-28 17:36:38 +02:00
f075501828
Add comments for AppendGraph and Graph add_incidence()
warrence
2026-04-28 17:35:00 +02:00
0ae4d486cb
Add and update todos
warrence
2026-04-28 17:29:54 +02:00
a8168b35e4
Add unit tests for GraphTopologyDeletion for Graph
warrence
2026-04-23 22:50:11 +02:00
0a30307a0d
Update todos
warrence
2026-04-23 22:49:12 +02:00
37a911dce0
Change GraphTopology implementation for Graph with generational arena
warrence
2026-04-23 18:25:23 +02:00
67e16f50cd
Fix same issues in Graph draft as well
warrence
2026-04-23 18:23:54 +02:00
02cd1a0dea
Fix several minor issues in AppendGraph::are_adjacent(), unit tests, and formatting
warrence
2026-04-23 18:18:36 +02:00
6180786e33
Fix AppendGraph unit tests
warrence
2026-04-23 18:13:10 +02:00
eabde7d635
Add Default implementation for AppendGraph
warrence
2026-04-23 18:10:43 +02:00
b54800c1be
Add new GraphTopologyDeletion trait for Graph to implement
warrence
2026-04-22 16:33:33 +02:00
8126352c9b
Add Graph as a straight copy of AppendGraph
warrence
2026-04-22 16:33:05 +02:00
d0cbebcae0
Fix formatting
warrence
2026-04-22 16:32:17 +02:00
ee26b7a3e0
Move AppendGraph to its own module
warrence
2026-04-22 16:31:17 +02:00
a939f9b889
Add Dijkstra variant without returning predecessors
warrence
2026-04-22 15:50:45 +02:00
a250bde626
Add DijkstraResult return type instead of unnamed tuple
warrence
2026-04-22 14:49:07 +02:00
41f2332735
Add test for add_edge() return value
warrence
2026-04-22 14:36:41 +02:00
ab830ed221
Rename Graph to AppendGraph for future other graph models
warrence
2026-04-22 14:31:11 +02:00
9088dd4683
Add edge return type to GraphTopology::add_edge()
warrence
2026-04-22 14:28:21 +02:00
da9ba7b0ad
Add GraphTopology trait and use it to interface graph model with algorithm
warrence
2026-04-22 14:26:35 +02:00
489ed6d506
Combine next_incidences and incidence_vertices of Graph into one, and rename incidence_headers to vertices
warrence
2026-03-19 21:21:52 +01:00
c5a0f2a3f6
Add tests for loops and multiple edges
warrence
2025-11-03 14:03:21 +01:00
3565b6b548
Remove pub from structs and fields that should have been private
warrence
2025-10-25 01:23:05 +02:00
5ad480b379
Add tests for Dijkstra's algorithm on trivial graphs
warrence
2025-10-25 01:15:16 +02:00
64d0302d64
Update Dijkstra's algorithm to use Graph::neighbors() iterator
warrence
2025-10-25 01:03:02 +02:00
149db22fe8
Add todo
warrence
2025-10-25 00:57:02 +02:00
761920b2c0
Update Graph::are_adjacent() to use neighbors() iterator
warrence
2025-10-25 00:56:24 +02:00
50f3a150bb
Add tests for some trivial graphs
warrence
2025-10-25 00:51:48 +02:00
6ff02f8c67
Update vertex iterator tests
warrence
2025-10-25 00:41:08 +02:00