A matrix of vector pairs, such that one node is in the first vector and the other is in the second. The position of the vector pairs in the matrix corresponds to the distribution in sampler_matrix used to sample them. There is probably a better way to represent these, I did this so they could be sampled fast. We only use the upper triangle of this but Julia lacks a good Symmetric matrix type.
sample_cache::Matrix{Vector{Int}}
The structure that pre-allocates the space for the weights of the edges in contact array. This is filled with weights and then the weights are added to weights_dict. We only use the upper triangle of this but Julia lacks a good Symmetric matrix type.
weights_dict::Dictionary{GraphEdge,UInt8}
Stores the weights used in the graph, so they can be easily resampled.
...
...
@@ -163,7 +153,7 @@ Matrix of distributions determining node degrees
Matrix of distributions determining the edge weights