Skip to content

Commit

Permalink
Remove more lines
Browse files Browse the repository at this point in the history
  • Loading branch information
junyuan-chen committed Jan 17, 2023
1 parent 6aef739 commit fb2aec1
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 53 deletions.
12 changes: 6 additions & 6 deletions src/columns.jl
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Base.@propagate_inbounds function Base.getindex(cols::ReadStatColumns, i::Int)
17, # 16 ifs and 1 else
i -> m === i+1,
i -> @static(i+1 === 10 ? getfield(cols, m)[n][1] : getfield(cols, m)[n]),
i -> error("Invalid index $m")
i -> error("invalid index $m")
)
end

Expand All @@ -70,7 +70,7 @@ Base.@propagate_inbounds function Base.getindex(cols::ReadStatColumns, r, c::Int
17, # 16 ifs and 1 else
i -> m === i+1,
i -> @static(i+1 === 10 ? getindex(getfield(cols, m)[n][1], r) : getindex(getfield(cols, m)[n], r)),
i -> error("Invalid index $m")
i -> error("invalid index $m")
)
end

Expand All @@ -80,7 +80,7 @@ Base.@propagate_inbounds function Base.setindex!(cols::ReadStatColumns, v, r::In
17, # 16 ifs and 1 else
i -> m === i+1,
i -> @static(i+1 === 10 ? setindex!(getfield(cols, m)[n][1], v, r) : setindex!(getfield(cols, m)[n], v, r)),
i -> error("Invalid index $m")
i -> error("invalid index $m")
)
end

Expand Down Expand Up @@ -298,7 +298,7 @@ Base.@propagate_inbounds function Base.getindex(cols::ChainedReadStatColumns, i:
24, # 23 ifs and 1 else
i -> m === i+1,
i -> getfield(cols, m)[n],
i -> error("Invalid index $m")
i -> error("invalid index $m")
)
end

Expand All @@ -308,7 +308,7 @@ Base.@propagate_inbounds function Base.getindex(cols::ChainedReadStatColumns, r,
24, # 23 ifs and 1 else
i -> m === i+1,
i -> getindex(getfield(cols, m)[n], r),
i -> error("Invalid index $m")
i -> error("invalid index $m")
)
end

Expand All @@ -318,7 +318,7 @@ Base.@propagate_inbounds function Base.setindex!(cols::ChainedReadStatColumns, v
24, # 23 ifs and 1 else
i -> m === i+1,
i -> setindex!(getfield(cols, m)[n], v, r),
i -> error("Invalid index $m")
i -> error("invalid index $m")
)
end

Expand Down
53 changes: 6 additions & 47 deletions src/table.jl
Original file line number Diff line number Diff line change
Expand Up @@ -270,53 +270,12 @@ end
Base.@propagate_inbounds function getcolumnfast(tb::ReadStatTable{ChainedReadStatColumns}, i::Int)
cols = _columns(tb)
m, n = getfield(cols, 1)[i]
if m === 2
return getfield(cols, 2)[n]
elseif m === 3
return getfield(cols, 3)[n]
elseif m === 4
return getfield(cols, 4)[n]
elseif m === 5
return getfield(cols, 5)[n]
elseif m === 6
return getfield(cols, 6)[n]
elseif m === 7
return getfield(cols, 7)[n]
elseif m === 8
return getfield(cols, 8)[n]
elseif m === 9
return getfield(cols, 9)[n]
elseif m === 10
return getfield(cols, 10)[n]
elseif m === 11
return getfield(cols, 11)[n]
elseif m === 12
return getfield(cols, 12)[n]
elseif m === 13
return getfield(cols, 13)[n]
elseif m === 14
return getfield(cols, 14)[n]
elseif m === 15
return getfield(cols, 15)[n]
elseif m === 16
return getfield(cols, 16)[n]
elseif m === 17
return getfield(cols, 17)[n]
elseif m === 18
return getfield(cols, 18)[n]
elseif m === 19
return getfield(cols, 19)[n]
elseif m === 20
return getfield(cols, 20)[n]
elseif m === 21
return getfield(cols, 21)[n]
elseif m === 22
return getfield(cols, 22)[n]
elseif m === 23
return getfield(cols, 23)[n]
elseif m === 24
return getfield(cols, 24)[n]
end
Base.Cartesian.@nif(
24, # 23 ifs and 1 else
i -> m === i+1,
i -> getfield(cols, i+1)[n],
i -> error("invalid index $m")
)
end

Base.@propagate_inbounds function Tables.getcolumn(tb::ReadStatTable, i::Int)
Expand Down

0 comments on commit fb2aec1

Please # to comment.