When data that is necessary for a processing is outside of the area for which
data is available, the necessary data is complemented by looping the data such
that a start of the data follows after an end of the data. Similarly, when data
necessary for a processing is outside the start of the data, the necessary data
is complemented by looping the data such that the end of the data follows before
the start of the data.