- Remove unneeded trait bounds for Graph iterators
- adding module
dual_graph
- adding
from_vec
- adding member
degree_iter
- adding member
degree_histogram
- adding member
cloned_subgraph
- adding iterator
dfs_mut
- adding iterator
bfs_index_depth_mut
- bugfix for
bfs_filtered
- implemented
FromIterator
trait
- add
AdjList
trait
- add
shuffle_adj
- move sampling to new crate - sampling is reexported at old location
- adding new breadth first iterator
BfsFiltered
- improve
size_hint
for a few iterators
- adding member
bfs_filtered
- adding member
degree_vec
- adding
From<&GenericGraph>
- adding
Graph::complete_graph
- ErEnsembleC -
randomize
(and thereforenew
, as that uses randomize) - GenericGraph -
new
roughly twice as fast now, though it was fast to begin with
- adding Barabási-Albert ensemble - work in progress
- adding ConfigurationModel - work in progress
- adding Spacial Ensemble - work in progress
- moved
sort_adj
toWithGraph
trait ErEnsembleC
: removedR: Rng
trait bound for struct, addedDot
traitErEnsembleM
: removedR: Rng
trait bound for struct, addedDot
traitSwEnsemble
: removedR: Rng
trait bound for struct, addedDot
trait
- WithGraph now has
sort_adj()
member - MarkovChain now has member
m_steps_quiet()
- adding traits
Histogram
,HistogramVal
andHistogramIntervalDistance
- HasRng - changed
swap_rng(&mut self, rng: Rng) -> Rng
toswap_rng(&mut self, rng: &mut Rng)
and moved HasRng into sampling module. Reexported at old position.
- added
WangLandauAdaptive
for performing WangLandau simulation - added
EntropicAdaptive
for performing Entropic sampling simulation - added Histograms
- Adding
Serialize + Deserialize
for ErStepC - Adding
Clone + Serialize + Deserialize
for ErStepM - Adding
Cloone + Serialize + Deserializ
for SwChangeState
- I did not list all changes, you are welcome to take a look at the documentation
- Almost all
u32
where changed intousize
. In fact so many, that I will not list them all, sorry for the inconvinience. Why? Becauseu32
was a very bad choice and I had to convert it intousize
almost everywhere anyway. Currently (almost?) no one uses this library anyway. That might change, meaning: if I do not do this change now, it will only become increasingly inconvinient in the future, so I'd be stuck with it. - This increases the performance of some iterators
- IMPORTANT: This will sadly affect the state of the rng, as I am now generating usize instead of u32. Therefore this affects the individual networks drawn for any given seed.
- optimization for
diameter
- add member
connected_components_ids
- add member
contained_iter_neighbors_with_index
which returns new iterator
- rename
fn to_rng
→fn into_rng
- add member
is_finished
- add member
set_m_beta
- add member
set_temperature
- derive Debug
- add member
is_finished
- add experimental member
make_connected
forErEnsembleC
- add experimental member
make_connected
forSwEnsemble
GraphIterators
added membercontained_iter_neighbors_with_index(&self, index: usize)
- new Iterator
NIContainedIter
; similar toINContainedIterMut
but differs in mutability
- optimization for
q_core
- major optimization for
vertex_load
- implemented
Borrow<GenericGraph>
for the ensembles - implemented
AsRef<GenericGraph>
for the ensembles - new trait
MeasurableGraphQuantities<G>
- implemented trait
MeasurableGraphQuantities
for ensembles - new trait
Dot
- implemented
Dot
forGenericGraph
- new trait
DotExtra
- implemented
DotExtra
forGenericGraph
- new trait
Metropolis
- add
dot_options!
macro for ease of use
INContainedIterMut
to mutably iterate over neighbors of specified vertex and also get the indices of the neighbors- added member in
GraphIteratorsMut<T, G, A>
andGenericGraph
to returnINContainedIterMut
- trait
GraphIteratorsMut<'a, T, G, A>
→GraphIteratorsMut<T, G, A>
- trait
GraphIterators<'a, T, G, A>
→GraphIterators<T, G, A>
to_dot*
members ofGenericGraph
. Use members ofDot
orDotExtra
trait instead
fn is_adjacent(&self, other_id: &u32) -> bool;
→fn is_adjacent(&self, other_id: u32) -> bool;
- now
dot_options
fromto_dot_with_labels*
do not have to be a string, they only have to implementAsRef<str>
, and the closuref
only has to return something, that implementsAsRef<str>
, not necessarily aString
- iterator optimizations (
nth
+FusedIterator
+ …) - added iterator:
contained_iter_mut
- added iterator:
contained_iter_neighbors_mut
- added
GraphIterators
and generically implemented it for the Ensembles - added
GraphIteratorsMut
⇨Ensemble
SimpleSample
+MarkovChain
mc_step
of formerEnsemble
trait is nowm_step
inMarkovChain
trait- new trait
WithGraph
for graph ensembles EnsembleRng
⇨HasRng
Node
removedparse_str
andmake_string
, since serde takes care of that now
- fix for
SwEnsemble
(Ensemble
trait waspub(crate)
and notpub
due to returned type)
- added member
contained_iter
(returns iterator) - added member
container_iter_neighbors
to iterate overAdjContainer
of neighbors of specific vertex - added member
contained_iter_neighbors
to iterate over additional information of neighbors of specific vertex
- added trait
SerdeStateConform
- added blanked implementation for
SerdeStateConform
- derived
Serialize
andDeserialize
for most types
- added feature "serde_support" (enabled by default)
- removed
Display
trait. Use serde instead. - reexported
rand