warrence
3d99501d4b
Fix inline documentation after recent changes
2026-08-17 10:16:54 +02:00
warrence
b4374174a9
Add reserve_vertices and reserve_edges to GraphTopologyAddition
2026-08-07 19:01:03 +02:00
warrence
59d9c2b8a7
Add ElementMap::reserve to replace ElementMap::expand, update tests
...
ElementMap tests are now self contained unit tests, without any graph context. The only exception is the repurposed test "reused_slot_returns_old_value", which is not suited for GraphTopologyDeletion, but actually specific for Graph.
2026-08-06 23:06:52 +02:00
warrence
a7346bd782
Rename EntityMap to ElementMap (tests not yet updated)
2026-08-06 23:01:10 +02:00
warrence
7d8c9aaa10
Add link in lib module doc
2026-08-06 20:54:42 +02:00
warrence
10d0c382cc
Add GraphTopologyAddition trait from GraphTopology
...
Move capacity and add methods from GraphTopology trait to new GraphTopologyAddition trait
2026-08-06 14:17:21 +02:00
warrence
2851cf60fd
Add Incidence struct for GraphTopology to use
2026-08-06 09:57:51 +02:00
warrence
110e6310aa
Use PriorityQueue for Dijkstra's, requires Hash for Vertex
2026-08-06 09:44:28 +02:00
warrence
53a6bed932
Add todos
2026-07-31 10:24:51 +02:00
warrence
afaf161344
Rename 'weight' parameter in Dijkstra's algorithm to 'weights'
2026-07-31 10:23:47 +02:00
warrence
0169343ac8
Merge branch 'main' into release-0.3.0
2026-07-31 10:16:03 +02:00
warrence
b752e3f9d4
Update package version
2026-07-31 09:34:13 +02:00
warrence
1b79809e2f
Remove deprecated method calls from map tests
2026-07-31 09:33:26 +02:00
warrence
242aba09e8
Rename VertexMap/EdgeMap::extend to "expand"
...
This avoids the naming conflict with e.g. Vec::extend
2026-07-31 09:32:52 +02:00
warrence
1b8df19d00
Remove tests for deprecated VertexMap/EdgeMap::sync
2026-07-31 09:31:21 +02:00
warrence
517b83b328
Add warning for missing docs
2026-07-31 08:50:19 +02:00
warrence
dd4e959554
Merge branch 'docs' into release-0.2.4
2026-07-31 08:44:10 +02:00
warrence
cf1dafceb7
Add remaining docs for algorithms module
2026-07-28 22:57:55 +02:00
warrence
9a1e2faa9a
Allow missing docs on deprecated maps methods
2026-07-28 22:56:51 +02:00
warrence
08b2c4db65
Add documentation for Dijkstra's algorithm, and rearrange related functions
2026-07-27 09:58:41 +02:00
warrence
dfa8f8f0df
Add EntityMap::extend and deprecate VertexMap/EdgeMap::sync
2026-07-27 08:56:58 +02:00
warrence
43c4ba45a2
Add documentation for maps module
2026-07-27 08:47:19 +02:00
warrence
99bab32f8c
Add module level documentation for prelude, models, and testing
2026-07-24 20:57:19 +02:00
warrence
6e80b2fc9a
Update traits module documentation
2026-07-24 20:56:39 +02:00
warrence
b5cc3b1c3f
Add documentation for Graph
2026-07-24 20:55:41 +02:00
warrence
21e79c660f
Update documentation for AppendGraph
2026-07-24 20:55:01 +02:00
warrence
399b36bb16
Add documentation for Graph and AppendGraph EntityMap types
2026-07-24 10:13:15 +02:00
warrence
9f76ce4ce3
Fix vertex_capacity and edge_capacity in AppendGraph
...
Fix AppendGraph::vertex_capacity and AppendGraph::edge_capacity to use the actual capacity of the underlying Vecs.
2026-07-24 10:09:37 +02:00
warrence
d9dc102993
Add documentation for models::append_graph module
2026-07-24 10:06:43 +02:00
warrence
3708c1e0d1
Fix formatting
2026-07-22 13:45:46 +02:00
warrence
9608796f23
Move dfs_find_path tests into dfs_testing
2026-07-22 13:44:32 +02:00
warrence
c253e4a840
Add tests for GraphTopology::vertex_map and edge_map
2026-07-22 13:31:15 +02:00
warrence
d711e68577
Replace VertexMap and EdgeMap with now public EntityMap
2026-07-22 13:30:09 +02:00
warrence
8db7a86187
Add Petersen graph generator
2026-07-18 23:38:08 +02:00
warrence
3fa4b66981
Fix IncidenceCursor for AppendGraph and Graph, and add tests
2026-07-17 22:06:28 +02:00
warrence
ad9850800d
Update IncidenceCursor trait doc with note on Copy
2026-07-17 11:30:45 +02:00
warrence
a14202effc
Merge branch 'main' into release-0.3.0
2026-07-17 11:29:41 +02:00
warrence
8f9f0bf4c8
Add language tag to readme example code for syntax highlighting
2026-07-17 11:21:31 +02:00
warrence
e8568a084a
Fix doc example for early doc release
2026-07-17 11:15:12 +02:00
warrence
e6b08d9148
Remove doc warnings for early doc release
2026-07-17 11:13:31 +02:00
warrence
b62c263b08
Update package version
2026-07-17 11:12:21 +02:00
warrence
7345684f00
Add documentation for traits module
2026-07-17 11:04:08 +02:00
warrence
2c53d92943
Fix readme typo
2026-07-17 11:00:02 +02:00
warrence
913a9e0baa
Fix AppendGraph::capacity to actually use the underlying vec's capacity
2026-07-17 09:54:16 +02:00
warrence
8c6c98859c
Add Copy to IncidenceCursor trait
2026-07-17 09:53:05 +02:00
warrence
24c08438d6
Add IncidenceCursor to prelude
2026-07-17 09:52:35 +02:00
warrence
bf6a7142f3
Fix readme typo
2026-07-17 09:50:43 +02:00
warrence
c131f520f4
Add crate doc front-page, and update readme
2026-07-14 20:01:08 +02:00
warrence
b6c27ea605
Merge branch 'main' into docs
2026-07-14 09:54:17 +02:00
warrence
2f549cc506
Update package version
2026-07-13 10:49:25 +02:00
warrence
cf31ee2f01
Replace VertexMap/EdgeMap.len with capacity
...
Rename EdgeMap.len to capacity.
Add VertexMap.capacity and EdgeMap.capacity.
Deprecate VertexMap.len and EdgeMap.len.
2026-07-13 10:48:16 +02:00
warrence
e58261ba47
Add BfsImplResult and DfsImplResult as named return structs
2026-07-10 13:12:30 +02:00
warrence
fb9dfe8280
Renamed len() to capacity() in EntityMap, VertexMap, and EdgeMap
...
len() is generally expected to describe the number of elements in a collection,
but in this case elements beyond len() are accessible without restriction.
capacity() is a better name because it describes data storage size.
2026-07-10 11:58:45 +02:00
warrence
818b37ec15
Add linter warning for missing docs
2026-07-10 10:18:39 +02:00
warrence
3c4391ac1d
Update package version
2026-07-07 11:44:57 +02:00
warrence
bbd9506bbc
Add prelude module for common traits
2026-07-07 11:44:17 +02:00
warrence
c8dda39b98
Update package version
2026-07-06 18:50:22 +02:00
warrence
1446103d34
Add concrete type aliases of VertexMap and EdgeMap for Graph and AppendGraph
2026-07-06 18:49:02 +02:00
warrence
266dee783b
Rename append_graph::Incidence to Edge to unify public naming
2026-07-06 17:52:42 +02:00
warrence
e3a24894f6
Changed graph::Vertex and graph::Edge to be public to simplify Graph usage
2026-07-06 17:51:15 +02:00
warrence
6d2d1de8ea
Hide testing macros from docs
2026-07-03 22:49:14 +02:00
warrence
2d400628f7
Re-publish AppendGraph and Graph in models
2026-07-03 21:49:28 +02:00
warrence
6a0c426c77
Rename find_path* algorithms to dfs_find_path*
2026-07-03 21:43:55 +02:00
warrence
db79da7301
Update cargo package metadata
2026-06-30 10:23:27 +02:00
warrence
6b742a53f5
Update cargo package metadata
2026-06-30 10:21:05 +02:00
warrence
fb64e370dc
Update readme and license information
2026-06-29 21:04:48 +02:00
warrence
21c95b4796
Add find_path algorithm and tests
2026-06-29 21:03:10 +02:00
warrence
f009a86f1e
Add GraphTopology.incidence_cursor() for certain use-cases where the iterator is problematic
...
Also add raw_incidences() and step_incidence() to AppendGraph analogously to
Graph, which allows to remove RawIncidenceIterator and simplify its call sites.
2026-06-26 23:36:41 +02:00
warrence
c197766229
Fix formatting
2026-06-26 15:38:49 +02:00
warrence
c147ed4974
Update breadth-first search tests
2026-06-26 15:35:23 +02:00
warrence
135f256141
Add depth-first search algorithms and tests
2026-06-26 15:34:42 +02:00
warrence
91ac925417
Add breadth-first search algorithms and tests
2026-06-25 21:56:22 +02:00
warrence
e299012948
Move the disconnected test graph to the more general graph_topology_test_fixtures macro
2026-06-25 20:17:55 +02:00
warrence
3adfb4b9eb
Add todo for custom weight type for Dijkstra's algorithm
2026-05-18 16:15:46 +02:00
warrence
ce692cb0b2
Add trait imports to test functions, making macros self-contained
2026-05-18 15:55:56 +02:00
warrence
465a383683
Add tests for Dijkstra's algorithm with edge weights
2026-05-18 12:48:12 +02:00
warrence
25b5d7864a
Refactor Dijkstra test assertions into new functions
2026-05-18 12:45:28 +02:00
warrence
13daf20e1c
Update test names for Dijkstra's algorithm to match the tested functions
...
This should have happened when the functions were renamed with the introduction of custom edge weights
2026-05-13 14:04:07 +02:00
warrence
600664acb6
Update tests for Dijkstra's algorithm to test both graph models
...
Use the already established macro pattern, move actual tests to a new file in src/testing.
Use the make_test_graph() function from the graph topology tests instead of duplicating it for the Dijkstra tests.
2026-05-13 14:02:07 +02:00
warrence
e479074151
Remove todo, proposed change would not affect callers
2026-05-13 12:18:27 +02:00
warrence
aaa1b34db3
Add todo that was accidentally removed
2026-05-13 12:16:10 +02:00
warrence
f862ac55ec
Add GraphTopology::incident_edges() and tests
2026-05-13 10:59:38 +02:00
warrence
384dca2d20
Fix inconsistent local var name in test function
2026-05-13 10:58:47 +02:00
warrence
340fde2133
Add Graph::raw_incidences() iterator as a wrapper for step_incidence()
2026-05-13 10:32:37 +02:00
warrence
6191def324
Fix format
2026-05-13 10:30:36 +02:00
warrence
ff148532ab
Move maps tests to integration tests
2026-05-12 18:32:45 +02:00
warrence
f1d5ccafd2
Add len() for VertexMap and EdgeMap
2026-05-12 18:26:52 +02:00
warrence
be63527478
Add incident vertices to edges return value in make_test_graph() fixture
2026-05-12 13:55:04 +02:00
warrence
ac688b4fc0
Extracted some assert code for GraphTopology::incidences into new fn
2026-05-12 13:39:13 +02:00
warrence
f45fc98afc
Add GraphTopology::incident_vertices and tests
2026-05-12 13:37:27 +02:00
warrence
85e25ef0ca
Refactor Graph iterator structs into private method used with std::iter::from_fn()
2026-05-08 20:48:43 +02:00
warrence
2eb054eb0c
Refactor AppendGraph iterators into one RawIncidenceIterator
2026-05-08 20:40:20 +02:00
warrence
0f5f0d67d2
Update Dijkstra's to use incidences instead of neighbors, and with it custom edge weights
2026-05-08 13:16:23 +02:00
warrence
0bcd270d12
Add GraphTopology::incidences(), update and add related tests
2026-05-08 13:12:23 +02:00
warrence
d3fcd690a5
Remove deprecated From<Vertex> for usize implementation
2026-05-08 12:57:16 +02:00
warrence
4e47573290
Renamed the private graph iterators to attune for upcoming changes
2026-05-07 18:01:16 +02:00
warrence
a7be995e34
Change "neighbor" terminology to "adjacent vertex" throughout the code
2026-05-07 17:34:20 +02:00
warrence
726e7691ea
Add weight parameter for Dijkstra's algorithm, add unweighted variants (unused)
2026-05-07 17:15:34 +02:00
warrence
6fe3acb306
Add EdgeMap and private generic EntityMap, update tests
2026-05-07 16:03:17 +02:00
warrence
e074fdf944
Move edge_count() in method order
2026-05-07 11:38:15 +02:00