Skip to content

Commit 7394513

Browse files
committed
Better type aliases
1 parent 5de388d commit 7394513

File tree

4 files changed

+31
-12
lines changed

4 files changed

+31
-12
lines changed

src/diagonalarray/delta.jl

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,25 @@
11
using FillArrays: AbstractFillVector, Ones, OnesVector
22

3-
const ScaledDelta{T,N,V<:AbstractFillVector{T},Axes} = DiagonalArray{T,N,V,Axes}
3+
const ScaledDelta{T,N,Diag<:AbstractFillVector{T},Unstored<:AbstractArray{T,N}} = DiagonalArray{
4+
T,N,Diag,Unstored
5+
}
6+
const ScaledDeltaVector{T,Diag<:AbstractFillVector{T},Unstored<:AbstractVector{T}} = DiagonalVector{
7+
T,Diag,Unstored
8+
}
9+
const ScaledDeltaMatrix{T,Diag<:AbstractFillVector{T},Unstored<:AbstractMatrix{T}} = DiagonalMatrix{
10+
T,Diag,Unstored
11+
}
12+
13+
const Delta{T,N,Diag<:OnesVector{T},Unstored<:AbstractArray{T,N}} = DiagonalArray{
14+
T,N,Diag,Unstored
15+
}
16+
const DeltaVector{T,Diag<:OnesVector{T},Unstored<:AbstractVector{T}} = DiagonalVector{
17+
T,Diag,Unstored
18+
}
19+
const DeltaMatrix{T,Diag<:OnesVector{T},Unstored<:AbstractMatrix{T}} = DiagonalMatrix{
20+
T,Diag,Unstored
21+
}
422

5-
const Delta{T,N,V<:OnesVector{T},Axes} = DiagonalArray{T,N,V,Axes}
623
function Delta{T}(
724
ax::Tuple{AbstractUnitRange{<:Integer},Vararg{AbstractUnitRange{<:Integer}}}
825
) where {T}

src/diagonalarray/diagonalmatrix.jl

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
const DiagonalMatrix{T,Diag,Zero} = DiagonalArray{T,2,Diag,Zero}
2-
3-
function DiagonalMatrix(diag::AbstractVector)
4-
return DiagonalArray{<:Any,2}(diag)
5-
end
6-
function DiagonalMatrix(diag::AbstractVector, ax::Tuple)
7-
return DiagonalArray{<:Any,2}(diag, ax)
8-
end
1+
const DiagonalMatrix{T,Diag<:AbstractVector{T},Unstored<:AbstractMatrix{T}} = DiagonalArray{
2+
T,2,Diag,Unstored
3+
}
94

105
# LinearAlgebra
116

src/diagonalarray/diagonalvector.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
const DiagonalVector{T,Diag,Zero} = DiagonalArray{T,1,Diag,Zero}
1+
const DiagonalVector{T,Diag<:AbstractVector{T},Unstored<:AbstractVector{T}} = DiagonalArray{
2+
T,1,Diag,Unstored
3+
}
24

35
function DiagonalVector(diag::AbstractVector)
46
return DiagonalArray{<:Any,1}(diag)

test/test_basics.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ using DerivableInterfaces: permuteddims
33
using DiagonalArrays:
44
DiagonalArrays,
55
Delta,
6+
DeltaMatrix,
67
DiagonalArray,
78
DiagonalMatrix,
89
ScaledDelta,
10+
ScaledDeltaMatrix,
911
δ,
1012
delta,
1113
diagindices,
@@ -214,7 +216,9 @@ using LinearAlgebra: Diagonal, mul!
214216
@test eltype(a) === elt′
215217
@test diaglength(a) == 2
216218
@test a isa DiagonalArray{elt′,2}
219+
@test a isa DiagonalMatrix{elt′}
217220
@test a isa Delta{elt′,2}
221+
@test a isa DeltaMatrix{elt′}
218222
@test size(a) == (2, 2)
219223
@test diaglength(a) == 2
220224
@test storedlength(a) == 2
@@ -229,7 +233,8 @@ using LinearAlgebra: Diagonal, mul!
229233
# the diagonal structure properly.
230234
# https://github.com/ITensor/DiagonalArrays.jl/issues/7
231235
@test diagview(a′) isa Fill{promote_type(Int, elt′)}
232-
@test a′ isa ScaledDelta{promote_type(Int, elt′)}
236+
@test a′ isa ScaledDelta{promote_type(Int, elt′),2}
237+
@test a′ isa ScaledDeltaMatrix{promote_type(Int, elt′)}
233238

234239
b = randn(elt, (2, 3))
235240
a_dest = a * b

0 commit comments

Comments
 (0)