JuliaArrays / JuliaArrays/BlockArrays.jl
Definition of BlockUnitRange
Open
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 254
- Forks
- 39
- PR merge metrics
- No merged PRs in 30d
Description
A single firsts field should work, where the last index of the range is firsts[end]-1. The advantages are:
- The codes will become cleaner and the performance can be better. There are currently many conditional statements on the first block. The proposed definition eliminates them.
- The type stability can be improved. Now
blocklengths(::BlockUnitRange{<:AbstractUnitRange})is clearly aFillandblocklengths(::BlockUnitRange{<:AbstractRange})is aVcat(::Int,::Fill). reference: https://github.com/JuliaArrays/BlockArrays.jl/blob/2c86412d209c20ed5b87863126ae16d4eb8cd677/src/blockaxis.jl#L449-L468
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/blockaxis.jl around lines 449-468 and read the existing BlockUnitRange and blocklengths definitions. Trace how the current representation handles the first block and how the proposed firsts field would affect callers. Done means the representation is consistently updated while preserving behavior and improving the stated type stability.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- data
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100