コード例 #1
0
/**
 * Frees this model.
 *
 * @param self the model.
 */
void
local_free (struct ergadm_model_t_ *self)
{
  local_data_t *local_data;

#if DEBUG
  g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- ENTER free (%s)", MODEL_NAME);
#endif

  /* Free the dynamically-allocated parts. */
  local_data = (local_data_t *) (self->model_data);
  g_free (local_data->status);

  RPT_free_reporting (local_data->nherds_awaiting_vaccination, TRUE);
  RPT_free_reporting (local_data->nherds_awaiting_vaccination_by_prodtype, TRUE);
  RPT_free_reporting (local_data->nanimals_awaiting_vaccination, TRUE);
  RPT_free_reporting (local_data->nanimals_awaiting_vaccination_by_prodtype, TRUE);
  RPT_free_reporting (local_data->peak_nherds_awaiting_vaccination, TRUE);
  RPT_free_reporting (local_data->peak_nanimals_awaiting_vaccination, TRUE);
  RPT_free_reporting (local_data->peak_wait_time, TRUE);
  RPT_free_reporting (local_data->average_wait_time, TRUE);

  g_free (local_data);
  g_ptr_array_free (self->outputs, TRUE);
  g_free (self);

#if DEBUG
  g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- EXIT free (%s)", MODEL_NAME);
#endif
}
コード例 #2
0
ファイル: detection-monitor.c プロジェクト: naadsm/naadsm
/**
 * Frees this model.
 *
 * @param self the model.
 */
void
local_free (struct ergadm_model_t_ *self)
{
    local_data_t *local_data;

#if DEBUG
    g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- ENTER free (%s)", MODEL_NAME);
#endif

    /* Free the dynamically-allocated parts. */
    local_data = (local_data_t *) (self->model_data);
    RPT_free_reporting (local_data->detections, TRUE);
    RPT_free_reporting (local_data->day_1st_detection, TRUE);
    RPT_free_reporting (local_data->nherds_detected, TRUE);
    RPT_free_reporting (local_data->nherds_detected_by_prodtype, TRUE);
    RPT_free_reporting (local_data->cumul_nherds_detected, TRUE);
    RPT_free_reporting (local_data->cumul_nherds_detected_by_prodtype, TRUE);

    g_string_free (local_data->target, TRUE);

    g_free (local_data);
    g_ptr_array_free (self->outputs, TRUE);
    g_free (self);

#if DEBUG
    g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- EXIT free (%s)", MODEL_NAME);
#endif
}
コード例 #3
0
ファイル: zone-monitor.c プロジェクト: naadsm/naadsm
/**
 * Frees this model.  Does not free the production type names.
 *
 * @param self the model.
 */
void
local_free (struct ergadm_model_t_ *self)
{
    local_data_t *local_data;

#if DEBUG
    g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- ENTER free (%s)", MODEL_NAME);
#endif

    /* Free the dynamically-allocated parts. */
    local_data = (local_data_t *) (self->model_data);
    RPT_free_reporting (local_data->shape, TRUE);
    RPT_free_reporting (local_data->area, TRUE);
    RPT_free_reporting (local_data->num_separate_areas, TRUE);
    RPT_free_reporting (local_data->num_units, TRUE);
    RPT_free_reporting (local_data->num_animal_days_by_prodtype, TRUE);
    g_free (local_data);
    g_ptr_array_free (self->outputs, TRUE);
    g_free (self);

#if DEBUG
    g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- EXIT free (%s)", MODEL_NAME);
#endif
}
コード例 #4
0
/**
 * Frees this model.  Does not free the production type name.
 *
 * @param self the model.
 */
void
local_free (struct naadsm_model_t_ *self)
{
  local_data_t *local_data = (local_data_t *) (self->model_data);
  unsigned int nzones = ZON_zone_list_length (local_data->zones);
  unsigned int nprod_types = local_data->production_types->len;
  unsigned int i;

#if DEBUG
  g_debug ("----- ENTER free (%s)", MODEL_NAME);
#endif

  /* Free the dynamically-allocated parts. */
  if (local_data->destruction_cost_params)
    {
      for (i = 0; i < nprod_types; i++)
        {
          if (local_data->destruction_cost_params[i])
            {
              g_free (local_data->destruction_cost_params[i]);
              local_data->destruction_cost_params[i] = NULL;
            }
        }
      g_free (local_data->destruction_cost_params);
      local_data->destruction_cost_params = NULL;
    }

  if (local_data->vaccination_cost_params)
    {
      for (i = 0; i < nprod_types; i++)
        {
          if (local_data->vaccination_cost_params[i])
            {
              g_free (local_data->vaccination_cost_params[i]);
              local_data->vaccination_cost_params[i] = NULL;
            }
        }
      g_free (local_data->vaccination_cost_params);
      local_data->vaccination_cost_params = NULL;
    }

  if (local_data->surveillance_cost_param)
    {
      for (i = 0; i < nzones; i++)
        {
          if (local_data->surveillance_cost_param[i])
            {
              g_free (local_data->surveillance_cost_param[i]);
              local_data->surveillance_cost_param[i] = NULL;
            }
        }
      g_free (local_data->surveillance_cost_param);
      local_data->surveillance_cost_param = NULL;
    }

  /*
  RPT_free_reporting (local_data->total_cost);
  RPT_free_reporting (local_data->appraisal_cost);
  RPT_free_reporting (local_data->euthanasia_cost);
  RPT_free_reporting (local_data->indemnification_cost);
  RPT_free_reporting (local_data->carcass_disposal_cost);
  RPT_free_reporting (local_data->cleaning_disinfecting_cost);
  RPT_free_reporting (local_data->vaccination_cost);
  RPT_free_reporting (local_data->surveillance_cost);
  */
  RPT_free_reporting (local_data->cumul_total_cost);
  RPT_free_reporting (local_data->cumul_appraisal_cost);
  RPT_free_reporting (local_data->cumul_euthanasia_cost);
  RPT_free_reporting (local_data->cumul_indemnification_cost);
  RPT_free_reporting (local_data->cumul_carcass_disposal_cost);
  RPT_free_reporting (local_data->cumul_cleaning_disinfecting_cost);
  RPT_free_reporting (local_data->cumul_destruction_subtotal);
  RPT_free_reporting (local_data->cumul_vaccination_setup_cost);
  RPT_free_reporting (local_data->cumul_vaccination_cost);
  RPT_free_reporting (local_data->cumul_vaccination_subtotal);
  RPT_free_reporting (local_data->cumul_surveillance_cost);

  g_free (local_data);
  g_ptr_array_free (self->outputs, TRUE);
  g_free (self);

#if DEBUG
  g_debug ("----- EXIT free (%s)", MODEL_NAME);
#endif
}
コード例 #5
0
/**
 * Frees this model.
 *
 * @param self the model.
 */
void
local_free (struct naadsm_model_t_ *self)
{
  local_data_t *local_data;

#if DEBUG
  g_debug ("----- ENTER free (%s)", MODEL_NAME);
#endif

  /* Free the dynamically-allocated parts. */
  local_data = (local_data_t *) (self->model_data);
  RPT_free_reporting (local_data->exposures);
  RPT_free_reporting (local_data->num_units_exposed);
  RPT_free_reporting (local_data->num_units_exposed_by_cause);
  RPT_free_reporting (local_data->num_units_exposed_by_prodtype);
  RPT_free_reporting (local_data->num_units_exposed_by_cause_and_prodtype);
  RPT_free_reporting (local_data->cumul_num_units_exposed);
  RPT_free_reporting (local_data->cumul_num_units_exposed_by_cause);
  RPT_free_reporting (local_data->cumul_num_units_exposed_by_prodtype);
  RPT_free_reporting (local_data->cumul_num_units_exposed_by_cause_and_prodtype);
  RPT_free_reporting (local_data->num_animals_exposed);
  RPT_free_reporting (local_data->num_animals_exposed_by_cause);
  RPT_free_reporting (local_data->num_animals_exposed_by_prodtype);
  RPT_free_reporting (local_data->num_animals_exposed_by_cause_and_prodtype);
  RPT_free_reporting (local_data->cumul_num_animals_exposed);
  RPT_free_reporting (local_data->cumul_num_animals_exposed_by_cause);
  RPT_free_reporting (local_data->cumul_num_animals_exposed_by_prodtype);
  RPT_free_reporting (local_data->cumul_num_animals_exposed_by_cause_and_prodtype);
  RPT_free_reporting (local_data->num_adequate_exposures);
  RPT_free_reporting (local_data->cumul_num_adequate_exposures);

  g_string_free (local_data->source_and_target, TRUE);

  g_free (local_data);
  g_ptr_array_free (self->outputs, TRUE);
  g_free (self);

#if DEBUG
  g_debug ("----- EXIT free (%s)", MODEL_NAME);
#endif
}
コード例 #6
0
ファイル: economic-model.c プロジェクト: naadsm/naadsm
/**
 * Frees this model.  Does not free the production type name.
 *
 * @param self the model.
 */
void
local_free (struct ergadm_model_t_ *self)
{
  local_data_t *local_data;

#if DEBUG
  g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- ENTER free (%s)", MODEL_NAME);
#endif

  /* Free the dynamically-allocated parts. */
  local_data = (local_data_t *) (self->model_data);
  g_free (local_data->production_type);
  REL_free_chart (local_data->visiting);
  REL_free_chart (local_data->testing);

  RPT_free_reporting (local_data->total_cost, TRUE);
  RPT_free_reporting (local_data->appraisal_cost, TRUE);
  RPT_free_reporting (local_data->euthanasia_cost, TRUE);
  RPT_free_reporting (local_data->indemnification_cost, TRUE);
  RPT_free_reporting (local_data->carcass_disposal_cost, TRUE);
  RPT_free_reporting (local_data->cleaning_disinfecting_cost, TRUE);
  RPT_free_reporting (local_data->vaccination_cost, TRUE);
  RPT_free_reporting (local_data->cumul_total_cost, TRUE);
  RPT_free_reporting (local_data->cumul_appraisal_cost, TRUE);
  RPT_free_reporting (local_data->cumul_euthanasia_cost, TRUE);
  RPT_free_reporting (local_data->cumul_indemnification_cost, TRUE);
  RPT_free_reporting (local_data->cumul_carcass_disposal_cost, TRUE);
  RPT_free_reporting (local_data->cumul_cleaning_disinfecting_cost, TRUE);
  RPT_free_reporting (local_data->cumul_vaccination_cost, TRUE);

  g_free (local_data);
  g_ptr_array_free (self->outputs, TRUE);
  g_free (self);

#if DEBUG
  g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- EXIT free (%s)", MODEL_NAME);
#endif
}