program test_graphs use :: iso_c_binding, only : c_int, c_int64_t, c_double use :: sort use :: prob use :: graphs, only : ContactGraph implicit none integer, parameter :: dp = c_double integer, parameter :: i8 = c_int64_t type(ContactGraph), dimension(:) :: G(10) integer(kind=c_int64_t), dimension(:) :: nodes(5) integer(kind=c_int64_t), dimension(:) :: weights(5) integer :: j, k pdists = prob_dists() nodes = (/ (j, j=1,5) /) weights = (/7_i8, 12_i8, 1_i8, 6_i8, 2_i8 /) write(*, fmt='(5(i3,2x))') nodes write(*, fmt='(5(i3,2x))') weights write(*,*) '-------------------------' do j=1,10 G(j) = ContactGraph(nodes, weights) write(*, fmt='(5(i3,2x))') G(j)%degrees end do write(*,*) 'Adjacency matrix:' do k=1,5 write(*, fmt='(5(i3,2x))') G(10)%adjacency_matrix(k,:) end do end program test_graphs