warrence
0dea90ceff
Update Dijkstra's algorithm to take any weights that satisfy the new Weight trait
2026-09-25 08:32:56 +02:00
warrence
64c48287a7
Fix ElementMap capacity in FrozenGraph::edge_map
2026-09-19 18:07:33 +02:00
warrence
345dbc0d5d
Add ElementMap::map
2026-09-19 17:59:27 +02:00
warrence
038e984c97
Add FromGraph trait, and add implementation for FrozenGraph
2026-09-19 17:53:44 +02:00
warrence
e593298eba
Add Clone to graph models, and tests
2026-09-19 17:19:47 +02:00
warrence
4c6a8a43e4
Refactor tests: use MakeTestGraph in model-specific tests, deconstruct vertex arrays where useful, adjust local variable names
2026-09-04 09:28:00 +02:00
warrence
016d127bd1
Update comment for pub, hidden Graph structs
2026-09-04 08:16:09 +02:00
warrence
8c3c6abc78
Updated todos
2026-09-03 20:40:43 +02:00
warrence
3ad448974e
Add new assert helper function for GraphTopologyDeletion tests
2026-09-03 20:40:15 +02:00
warrence
1209d75e15
Use non-zero edge indices to reduce size of structs with Option fields
2026-09-03 20:28:41 +02:00
warrence
c25a8a4fc1
Add FrozenGraph tests
2026-09-03 19:49:45 +02:00
warrence
73af8a16ca
Add algorithms::bfs_find_path
2026-09-03 09:43:45 +02:00
warrence
a8b6f7591c
Move common test helpers to fixtures module
2026-09-03 09:10:03 +02:00
warrence
8a1d491943
Format test code
2026-09-03 09:06:22 +02:00
warrence
5825ef3b47
Change all graph tests to pub to avoid unused-warnings
2026-09-02 09:30:37 +02:00
warrence
0ff830ef48
Refactor graph trait tests to minimize macro code, and split into separate files per macro
...
The tests only declare a list of tests in the macro, no longer the test functions themselves. This allows better tooling support (e.g. IDE and rustfmt).
2026-08-31 19:49:42 +02:00
warrence
df5170f2f5
Refactor algorithm tests to minimize macro code, and move into tests/
...
The tests only declare a list of tests in the macro, no longer the test functions themselves. This allows better tooling support (e.g. IDE and rustfmt).
2026-08-31 19:44:55 +02:00
warrence
6d3a206995
Hide mod testing from documentation
2026-08-31 19:44:05 +02:00
warrence
95601a7a5a
Add todos
2026-08-29 22:39:45 +02:00
warrence
7fbd5eed9d
Refactor graph creation in all tests into new internal MakeTestGraph trait
...
This large refactor allows future re-use of the existing tests for `FrozenGraph`, which does not implement `GraphTopologyAddition`, but instead has to convert from a different graph which does.
- Fix tests for `GraphTopologyDeletion` hard-coding Graph instead of using the trait.
- Fix some tests silently depending on macro call site uses.
- Change `GraphTopologyAddition` tests to use `Default::default` instead of `new`.
- Add new tests for `GraphTopology::vertex_map` and `edge_map` that also depend on `GraphTopologyAddition`, removing these dependencies from the existing tests.
- Add new test macro `graph_topology_addition_deletion_tests` for tests that need deletion and addition.
2026-08-29 22:38:27 +02:00
warrence
1185e3b667
Add Default trait to GraphTopologyAddition
2026-08-27 20:11:54 +02:00
warrence
cbabb8f960
Remove unnecessary doc link path parts
2026-08-27 20:11:03 +02:00
warrence
a89086253a
Add FrozenGraph (without tests)
2026-08-17 10:25:52 +02:00
warrence
5085b7795b
Remove local vars in AppendGraph::incident_vertices and construct result directly
2026-08-17 10:20:53 +02:00
warrence
cd1d2cddee
Move related tests into new testing macro for GraphTopologyAddition
2026-08-17 10:19:22 +02:00
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