port_list_add Subroutine

public subroutine port_list_add(me, idx, name, nb_ports)

Type Bound

port_list_t

Arguments

Type IntentOptional Attributes Name
class(port_list_t), intent(inout) :: me
integer, intent(in) :: idx
character(len=*), intent(in) :: name

Component (port) name

integer, intent(in) :: nb_ports

Calls

proc~~port_list_add~~CallsGraph proc~port_list_add port_list_t%port_list_add interface~to_str to_str proc~port_list_add->interface~to_str proc~str_from_int str_from_int interface~to_str->proc~str_from_int proc~str_from_real str_from_real interface~to_str->proc~str_from_real

Called by

proc~~port_list_add~~CalledByGraph proc~port_list_add port_list_t%port_list_add proc~krn_add krn_t%krn_add proc~krn_add->proc~port_list_add proc~krn_add_label krn_t%krn_add_label proc~krn_add_label->proc~port_list_add proc~boundary_init_part1 boundary_init_part1 proc~boundary_init_part1->proc~krn_add proc~channel_init_part1 channel_init_part1 proc~channel_init_part1->proc~krn_add proc~circulator_init_part1 circulator_init_part1 proc~circulator_init_part1->proc~krn_add proc~ffsrclink_init_part1 FFsrcLink_init_part1 proc~ffsrclink_init_part1->proc~krn_add proc~fslink_init_part1 FSlink_init_part1 proc~fslink_init_part1->proc~krn_add proc~junction_init_part1 junction_init_part1 proc~junction_init_part1->proc~krn_add proc~mesh2d_init_part1 mesh2D_init_part1 proc~mesh2d_init_part1->proc~krn_add proc~mesh2d_init_part1->proc~krn_add_label proc~solid_init_part1 solid_init_part1 proc~solid_init_part1->proc~krn_add proc~ssfluxlink_init_part1 SSfluxLink_init_part1 proc~ssfluxlink_init_part1->proc~krn_add proc~sssrclink_init_part1 SSsrcLink_init_part1 proc~sssrclink_init_part1->proc~krn_add proc~strand_init_part1 strand_init_part1 proc~strand_init_part1->proc~krn_add program~reims_p reims_p program~reims_p->proc~boundary_init_part1 program~reims_p->proc~channel_init_part1 program~reims_p->proc~circulator_init_part1 program~reims_p->proc~ffsrclink_init_part1 program~reims_p->proc~fslink_init_part1 program~reims_p->proc~junction_init_part1 program~reims_p->proc~mesh2d_init_part1 program~reims_p->proc~solid_init_part1 program~reims_p->proc~ssfluxlink_init_part1 program~reims_p->proc~sssrclink_init_part1 program~reims_p->proc~strand_init_part1

Source Code

subroutine port_list_add(me,idx,name,nb_ports)
    class(port_list_t), intent(inout) :: me
    integer, intent(in) :: idx        !!
    integer, intent(in) :: nb_ports   
    character(*), intent(in) :: name  !! Component (port) name

    me%nb(idx) = me%nb(idx) + nb_ports ! WARNING why to add if no of ports is equal 0 or the name is not given?
    if (name/='' .and. nb_ports/=0) then
        me%list = me%list//' '//name//':'//to_str(nb_ports)//','//to_str(me%idx)
        me%idx = me%idx + nb_ports
    endif
end subroutine port_list_add