diff options
author | Robert C. Helling <helling@atdotde.de> | 2017-05-26 00:45:53 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-05-26 15:44:36 -0700 |
commit | 7b18be2a50e3c94fa1e9ae30c92bbb3eee3593d6 (patch) | |
tree | af16a82b1302591c3448812280f261b1cc5296e4 /core/profile.c | |
parent | 57ee5a5477c92ff4dd7b8975b1866c988556d14e (diff) | |
download | subsurface-7b18be2a50e3c94fa1e9ae30c92bbb3eee3593d6.tar.gz |
Adopt planner state caching to new struct
Signed-off-by: Robert C. Helling <helling@atdotde.de>
Diffstat (limited to 'core/profile.c')
-rw-r--r-- | core/profile.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/core/profile.c b/core/profile.c index efe97d4f3..86bc974b8 100644 --- a/core/profile.c +++ b/core/profile.c @@ -950,7 +950,7 @@ void calculate_deco_information(struct dive *dive, struct divecomputer *dc, stru double surface_pressure = (dc->surface_pressure.mbar ? dc->surface_pressure.mbar : get_surface_pressure_in_mbar(dive, true)) / 1000.0; bool first_iteration = true; int deco_time = 0, prev_deco_time = 10000000; - char *cache_data_initial = NULL; + struct deco_state *cache_data_initial = NULL; /* For VPM-B outside the planner, cache the initial deco state for CVA iterations */ if (decoMode() == VPMB && !in_planner()) cache_deco_state(&cache_data_initial); @@ -1043,13 +1043,13 @@ void calculate_deco_information(struct dive *dive, struct divecomputer *dc, stru last_ndl_tts_calc_time = entry->sec; /* We are going to mess up deco state, so store it for later restore */ - char *cache_data = NULL; + struct deco_state *cache_data = NULL; cache_deco_state(&cache_data); calculate_ndl_tts(entry, dive, surface_pressure); if (decoMode() == VPMB && !in_planner() && i == pi->nr - 1) final_tts = entry->tts_calc; /* Restore "real" deco state for next real time step */ - restore_deco_state(cache_data); + restore_deco_state(cache_data, false); free(cache_data); } } @@ -1066,7 +1066,7 @@ void calculate_deco_information(struct dive *dive, struct divecomputer *dc, stru first_ceiling = 0; first_iteration = false; count_iteration ++; - restore_deco_state(cache_data_initial); + restore_deco_state(cache_data_initial, false); } else { // With Buhlmann, or not in planner, iterating isn't needed. This makes the while condition false. prev_deco_time = deco_time = 0; |