Require `step: float` input to `slice_from_time()`

There's been way too many issues when trying to calculate this
dynamically from the input array, so just expect the caller to know what
it's doing and don't bother with ever hitting the error case of
calculating and incorrect value internally.
storage_cli
Tyler Goodlet 2023-03-07 14:36:19 -05:00
parent 4da772292f
commit b9c2c254dc
1 changed files with 2 additions and 8 deletions

View File

@ -295,7 +295,7 @@ def slice_from_time(
arr: np.ndarray, arr: np.ndarray,
start_t: float, start_t: float,
stop_t: float, stop_t: float,
step: int | None = None, step: float, # sampler period step-diff
) -> slice: ) -> slice:
''' '''
@ -324,12 +324,6 @@ def slice_from_time(
# end of the input array. # end of the input array.
read_i_max = arr.shape[0] read_i_max = arr.shape[0]
# TODO: require this is always passed in?
if step is None:
step = round(t_last - times[-2])
if step == 0:
step = 1
# compute (presumed) uniform-time-step index offsets # compute (presumed) uniform-time-step index offsets
i_start_t = floor(start_t) i_start_t = floor(start_t)
read_i_start = floor(((i_start_t - t_first) // step)) - 1 read_i_start = floor(((i_start_t - t_first) // step)) - 1
@ -412,7 +406,7 @@ def slice_from_time(
times[read_i_start:], times[read_i_start:],
# times, # times,
i_stop_t, i_stop_t,
side='left', side='right',
) )
if ( if (