Skip to content

Commit fe42262

Browse files
committed
simplify BlockMap constructors
1 parent d5dc7d2 commit fe42262

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

src/blockmap.jl

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
struct BlockMap{T,
22
As<:LinearMapTupleOrVector,
3-
Rs<:Tuple{Vararg{Int}},
4-
Rranges<:Vector{UnitRange{Int}},
5-
Cranges<:Vector{UnitRange{Int}}} <: LinearMap{T}
3+
Rs<:Tuple{Vararg{Int}}} <: LinearMap{T}
64
maps::As
75
rows::Rs
8-
rowranges::Rranges
9-
colranges::Cranges
6+
rowranges::Vector{UnitRange{Int}}
7+
colranges::Vector{UnitRange{Int}}
108
function BlockMap{T,As,Rs}(maps::As, rows::Rs) where
119
{T, As<:LinearMapTupleOrVector, Rs<:Tuple{Vararg{Int}}}
1210
for TA in Base.Generator(eltype, maps)
1311
promote_type(T, TA) == T ||
1412
error("eltype $TA cannot be promoted to $T in BlockMap constructor")
1513
end
1614
rowranges, colranges = rowcolranges(maps, rows)
17-
Rranges, Cranges = typeof(rowranges), typeof(colranges)
18-
return new{T, As, Rs, Rranges, Cranges}(maps, rows, rowranges, colranges)
15+
return new{T, As, Rs}(maps, rows, rowranges, colranges)
1916
end
2017
end
2118

@@ -399,20 +396,18 @@ end
399396
############
400397
# BlockDiagonalMap
401398
############
402-
struct BlockDiagonalMap{T,
403-
As<:LinearMapTupleOrVector,
404-
Ranges<:Vector{UnitRange{Int}}} <: LinearMap{T}
399+
struct BlockDiagonalMap{T, As<:LinearMapTupleOrVector} <: LinearMap{T}
405400
maps::As
406-
rowranges::Ranges
407-
colranges::Ranges
401+
rowranges::Vector{UnitRange{Int}}
402+
colranges::Vector{UnitRange{Int}}
408403
function BlockDiagonalMap{T, As}(maps::As) where {T, As<:LinearMapTupleOrVector}
409404
for TA in Base.Generator(eltype, maps)
410405
promote_type(T, TA) == T ||
411406
error("eltype $TA cannot be promoted to $T in BlockDiagonalMap constructor")
412407
end
413408
rowranges = _getranges(maps, 1)
414409
colranges = _getranges(maps, 2)
415-
return new{T, As, typeof(rowranges)}(maps, rowranges, colranges)
410+
return new{T, As}(maps, rowranges, colranges)
416411
end
417412
end
418413

0 commit comments

Comments
 (0)