get_var_index Subroutine

private subroutine get_var_index(cfg, var_name, ix)

Return the index of the variable with name 'var_name', or -1 if not found.

Arguments

Type IntentOptional Attributes Name
type(CFG_t), intent(in) :: cfg
character(len=*), intent(in) :: var_name
integer, intent(out) :: ix

Calls

proc~~get_var_index~~CallsGraph proc~get_var_index get_var_index proc~binary_search_variable binary_search_variable proc~get_var_index->proc~binary_search_variable

Called by

proc~~get_var_index~~CalledByGraph proc~get_var_index get_var_index proc~cfg_get_size CFG_get_size proc~cfg_get_size->proc~get_var_index proc~cfg_get_type CFG_get_type proc~cfg_get_type->proc~get_var_index proc~cfg_read_file CFG_read_file proc~cfg_read_file->proc~get_var_index proc~prepare_store_var prepare_store_var proc~cfg_read_file->proc~prepare_store_var proc~prepare_get_var prepare_get_var proc~prepare_get_var->proc~get_var_index proc~prepare_store_var->proc~get_var_index proc~add_int add_int proc~add_int->proc~prepare_store_var proc~add_int_array add_int_array proc~add_int_array->proc~prepare_store_var proc~add_logic add_logic proc~add_logic->proc~prepare_store_var proc~add_logic_array add_logic_array proc~add_logic_array->proc~prepare_store_var proc~add_real add_real proc~add_real->proc~prepare_store_var proc~add_real_array add_real_array proc~add_real_array->proc~prepare_store_var proc~add_string add_string proc~add_string->proc~prepare_store_var proc~add_string_array add_string_array proc~add_string_array->proc~prepare_store_var proc~cfg_update_from_arguments CFG_update_from_arguments proc~cfg_update_from_arguments->proc~cfg_read_file proc~get_int get_int proc~get_int->proc~prepare_get_var proc~get_int_array get_int_array proc~get_int_array->proc~prepare_get_var proc~get_logic get_logic proc~get_logic->proc~prepare_get_var proc~get_logic_array get_logic_array proc~get_logic_array->proc~prepare_get_var proc~get_real get_real proc~get_real->proc~prepare_get_var proc~get_real_array get_real_array proc~get_real_array->proc~prepare_get_var proc~get_string get_string proc~get_string->proc~prepare_get_var proc~get_string_array get_string_array proc~get_string_array->proc~prepare_get_var interface~cfg_add CFG_add interface~cfg_add->proc~add_int interface~cfg_add->proc~add_int_array interface~cfg_add->proc~add_logic interface~cfg_add->proc~add_logic_array interface~cfg_add->proc~add_real interface~cfg_add->proc~add_real_array interface~cfg_add->proc~add_string interface~cfg_add->proc~add_string_array interface~cfg_get CFG_get interface~cfg_get->proc~get_int interface~cfg_get->proc~get_int_array interface~cfg_get->proc~get_logic interface~cfg_get->proc~get_logic_array interface~cfg_get->proc~get_real interface~cfg_get->proc~get_real_array interface~cfg_get->proc~get_string interface~cfg_get->proc~get_string_array proc~add_get_int add_get_int proc~add_get_int->proc~add_int proc~add_get_int->proc~get_int proc~add_get_int_array add_get_int_array proc~add_get_int_array->proc~add_int_array proc~add_get_int_array->proc~get_int_array proc~add_get_logic add_get_logic proc~add_get_logic->proc~add_logic proc~add_get_logic->proc~get_logic proc~add_get_logic_array add_get_logic_array proc~add_get_logic_array->proc~add_logic_array proc~add_get_logic_array->proc~get_logic_array proc~add_get_real add_get_real proc~add_get_real->proc~add_real proc~add_get_real->proc~get_real proc~add_get_real_array add_get_real_array proc~add_get_real_array->proc~add_real_array proc~add_get_real_array->proc~get_real_array proc~add_get_string add_get_string proc~add_get_string->proc~add_string proc~add_get_string->proc~get_string proc~add_get_string_array add_get_string_array proc~add_get_string_array->proc~add_string_array proc~add_get_string_array->proc~get_string_array interface~cfg_add_get CFG_add_get interface~cfg_add_get->proc~add_get_int interface~cfg_add_get->proc~add_get_int_array interface~cfg_add_get->proc~add_get_logic interface~cfg_add_get->proc~add_get_logic_array interface~cfg_add_get->proc~add_get_real interface~cfg_add_get->proc~add_get_real_array interface~cfg_add_get->proc~add_get_string interface~cfg_add_get->proc~add_get_string_array

Source Code

  subroutine get_var_index(cfg, var_name, ix)
    type(CFG_t), intent(in)      :: cfg
    character(len=*), intent(in) :: var_name
    integer, intent(out)         :: ix
    integer                      :: i

    if (cfg%sorted) then
       call binary_search_variable(cfg, var_name, ix)
    else
       ! Linear search
       do i = 1, cfg%num_vars
          if (cfg%vars(i)%var_name == var_name) exit
       end do

       ! If not found, set i to -1
       if (i == cfg%num_vars + 1) i = -1
       ix = i
    end if

  end subroutine get_var_index