Trace_stat_summary_utils.Resample
This 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 ->
acc
Creates a resampling accumulator.
Requires the first point of vec0.