46 integer,
private :: len = 0
48 integer,
private :: n_filled = 0
74 type(
vector_t),
intent(inout),
target :: v
76 character(len=80) :: name
77 character(len=5) :: id_str
86 allocate(this%lv(len))
89 write(id_str,
'(I0)') i
90 name = trim(this%v%name)//
'_lag'//id_str
91 call this%lv(i)%init(this%v%size(), name)
101 if (
associated(this%v))
then
106 if (
allocated(this%lv))
then
108 call this%lv(i)%free()
131 n_filled = this%n_filled
139 do i = this%len, 2, -1
140 this%lv(i) = this%lv(i-1)
144 this%n_filled = min(this%n_filled + 1, this%len)
158 this%n_filled = this%len
integer, parameter, public rp
Global precision used in computations.
Contains the vector_series_t type.
subroutine vector_series_set(this, g)
Set all vectors in a series to g.
integer function vector_series_filled_size(this)
Return the number of lag entries containing valid history.
subroutine vector_series_reset(this)
Reset the series to contain no valid history.
subroutine vector_series_free(this)
Deallocates a vector series.
integer function vector_series_size(this)
Return the size of the vector series.
subroutine vector_series_init(this, v, len)
Initialize a vector series of length len for a vector v.
subroutine vector_series_update(this)
Update a vector series (evict oldest entry)
A wrapper for a pointer to a vector_series_t.
Stores a series (sequence) of vectors, logically connected to a base vector, and arranged according t...