Skip to content

Conversation

@jeremiahpslewis
Copy link
Member

This pull request clarifies the behavior of the _buffer_index function in the CircularArrayBuffer module. It adds a new function wrap_index to handle index wrapping when it exceeds the buffer size. The changes also include updated comments.

@jeremiahpslewis jeremiahpslewis self-assigned this Mar 26, 2024
"""
_buffer_frame(cb::CircularArrayBuffer, i::Int)
Return the index of the `i`-th frame in the buffer.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Return the index of the `i`-th frame in the buffer.
Here `i` is assumed to be the last dimension of `cb`. Each `frame` means a slice of the last dimension. Since we use *circular frames* (the `data` buffer) underlying, this function transforms the logical `i`-th frame to the real frame of the internal buffer.

return idx - n
else
ind
@info "oops! idx $(idx) > 2n $(2n)"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
@info "oops! idx $(idx) > 2n $(2n)"
@warn "oops! idx $(idx) > 2n $(2n)"

"""
_buffer_index(cb::CircularArrayBuffer, i::Int)
Return the index of the `i`-th element in the buffer.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Return the index of the `i`-th element in the buffer.
Return the index of the `i`-th element in the buffer. Note the `i` is assumed to be the linear indexing of `cb`.

@jeremiahpslewis jeremiahpslewis merged commit 67b944b into main Mar 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants