add_logic Subroutine

private subroutine add_logic(cfg, var_name, logic_data, comment)

Add a configuration variable with an logical value

Arguments

Type IntentOptional Attributes Name
type(CFG_t), intent(inout) :: cfg
character(len=*), intent(in) :: var_name
logical, intent(in) :: logic_data
character(len=*), intent(in) :: comment

Calls

proc~~add_logic~~CallsGraph proc~add_logic add_logic proc~prepare_store_var prepare_store_var proc~add_logic->proc~prepare_store_var proc~read_variable read_variable proc~add_logic->proc~read_variable proc~ensure_free_storage ensure_free_storage proc~prepare_store_var->proc~ensure_free_storage proc~get_var_index get_var_index proc~prepare_store_var->proc~get_var_index proc~handle_error handle_error proc~prepare_store_var->proc~handle_error proc~get_fields_string~2 get_fields_string proc~read_variable->proc~get_fields_string~2 proc~read_variable->proc~handle_error proc~resize_storage resize_storage proc~read_variable->proc~resize_storage proc~binary_search_variable binary_search_variable proc~get_var_index->proc~binary_search_variable

Called by

proc~~add_logic~~CalledByGraph proc~add_logic add_logic interface~cfg_add CFG_add interface~cfg_add->proc~add_logic proc~add_get_logic add_get_logic proc~add_get_logic->proc~add_logic interface~cfg_add_get CFG_add_get interface~cfg_add_get->proc~add_get_logic

Source Code

  subroutine add_logic(cfg, var_name, logic_data, comment)
    type(CFG_t), intent(inout)   :: cfg
    character(len=*), intent(in) :: var_name, comment
    logical, intent(in)          :: logic_data
    integer                      :: ix

    call prepare_store_var(cfg, var_name, CFG_logic_type, 1, comment, ix)

    if (cfg%vars(ix)%stored_data /= "") then
       call read_variable(cfg%vars(ix))
    else
       cfg%vars(ix)%logic_data(1) = logic_data
    end if
  end subroutine add_logic