SUBROUTINE synaptic_map_construct (thisno, & num_presynaptic_cells, num_postsynaptic_cells, & map, num_presyninputs_perpostsyn_cell, display) c Construct a map of presynaptic cells of one type to postsyn. c cells of some type. c display is an integer flag. If display = 1, print gjtable INTEGER thisno, num_presynaptic_cells, & num_postsynaptic_cells, & num_presyninputs_perpostsyn_cell, & map (num_presyninputs_perpostsyn_cell, & num_postsynaptic_cells) INTEGER i,j,k,l,m,n,o,p INTEGER display double precision seed, x(1) seed = 297.d0 map = 0 k = 1 do i = 1, num_postsynaptic_cells do j = 1, num_presyninputs_perpostsyn_cell call durand (seed, k, x) c This defines a presynaptic cell L = int ( x(1) * dble (num_presynaptic_cells) ) if (L.eq.0) L = 1 if (L.gt.num_presynaptic_cells) & L = num_presynaptic_cells map (j,i) = L end do end do c Possibly print out map when done. if ((display.eq.1).and.(thisno.eq.0)) then write (6,800) 800 format(' SYNAPTIC MAP ') do i = 1, num_postsynaptic_cells write (6,50) map(1,i), map(2,i), & map(num_presyninputs_perpostsyn_cell,i) 50 FORMAT(3i6) end do endif END