From 407136b7f237affc91154e1c27f1ceba8e843eb2 Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Mon, 15 Dec 2025 15:47:45 +0000 Subject: [PATCH] Allow diagonal offset arrays --- src/diagonal.jl | 1 - test/diagonal.jl | 8 +++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/diagonal.jl b/src/diagonal.jl index 05dbe181..a1701016 100644 --- a/src/diagonal.jl +++ b/src/diagonal.jl @@ -6,7 +6,6 @@ struct Diagonal{T,V<:AbstractVector{T}} <: AbstractMatrix{T} diag::V function Diagonal{T,V}(diag) where {T,V<:AbstractVector{T}} - require_one_based_indexing(diag) new{T,V}(diag) end end diff --git a/test/diagonal.jl b/test/diagonal.jl index 0fea3a14..91e05642 100644 --- a/test/diagonal.jl +++ b/test/diagonal.jl @@ -496,9 +496,11 @@ LinearAlgebra.istril(N::NotDiagonal) = istril(N.a) end @testset "axes" begin - v = OffsetArray(1:3) - D = Diagonal(v) - @test axes(D) isa NTuple{2,typeof(axes(v,1))} + for v in (OffsetArray(1:3), OffsetArray(-4:3)) + D = Diagonal(v) + @test D[1,1] == 1 + @test axes(D) isa NTuple{2,typeof(axes(v,1))} + end end @testset "rdiv! (#40887)" begin