port_list_update Function

public function port_list_update(me, idx, loc, start_state_idx, ports_array) result(view)

Type Bound

port_list_t

Arguments

Type IntentOptional Attributes Name
class(port_list_t), intent(inout) :: me
integer, intent(in) :: idx
integer, intent(in) :: loc(:)
integer, intent(in) :: start_state_idx
class(port_t), intent(in), target :: ports_array(:)

which will have updated loc (should be inout?)

Return Value class(port_t), pointer, (:)

Returned view on the ports array with updated values of: loc


Called by

proc~~port_list_update~~CalledByGraph proc~port_list_update port_list_t%port_list_update proc~krn_update krn_t%krn_update proc~krn_update->proc~port_list_update proc~channel_init_part2 channel_init_part2 proc~channel_init_part2->proc~krn_update proc~mesh2d_init_part2 mesh2D_init_part2 proc~mesh2d_init_part2->proc~krn_update proc~solid_init_part2 solid_init_part2 proc~solid_init_part2->proc~krn_update proc~strand_init_part2 strand_init_part2 proc~strand_init_part2->proc~krn_update program~reims_p reims_p program~reims_p->proc~channel_init_part2 program~reims_p->proc~mesh2d_init_part2 program~reims_p->proc~solid_init_part2 program~reims_p->proc~strand_init_part2

Source Code

function port_list_update(me, idx, loc, start_state_idx, ports_array) result(view)
    class(port_list_t), intent(inout) :: me
    integer, intent(in) :: idx !! 
    integer, intent(in) :: loc(:) !!
    integer, intent(in) :: start_state_idx !!  
    class(port_t), target, intent(in) :: ports_array(:) !! which will have updated loc (should be inout?)
    class(port_t), pointer :: view(:) !! Returned view on the ports array with updated values of: loc

    integer :: start_idx

    start_idx = sum(me%nb(1:idx)) - me%nb(idx)
    view => ports_array(start_idx+1:start_idx+me%nb(idx))
    view%loc = loc + start_state_idx
end function port_list_update