Trace_stat_summary_utils.ResampleThis Resample module offers 3 ways to resample a 1d vector:
should_sample.create_acc / accumulate / finalise.resample_vector.Both downsampling and upsampling are possible:
> upsampling
vec0: | | | | (len0:4)
vec1: | | | | | | (len1:6)
> identity
vec0: | | | | (len0:4)
vec1: | | | | (len1:4)
> downsampling
vec0: | | | | | | (len0:6)
vec1: | | | | (len1:4)The first and last point of the input and output sequences are always equal.
val should_sample :
i0:int ->
len0:int ->
i1:int ->
len1:int ->
[ `After | `Before | `Inside of float | `Out_of_bounds ]When resampling a 1d vector from len0 to len1, this function locates a destination point with index i1 relative to the range i0 - 1 excluded and i0 included.
When both i0 and i1 equal 0, the result is `Inside 1..
len0 and len1 should be greater or equal to 2.
val create_acc :
[ `Interpolate | `Next_neighbor ] ->
len0:int ->
len1:int ->
v00:float ->
accCreates a resampling accumulator.
Requires the first point of vec0.