diff --git a/Project.toml b/Project.toml index 1b02ba2..460f026 100644 --- a/Project.toml +++ b/Project.toml @@ -1,13 +1,14 @@ name = "DerivableInterfaces" uuid = "6c5e35bf-e59e-4898-b73c-732dcc4ba65f" authors = ["ITensor developers and contributors"] -version = "0.5.4" +version = "0.5.5" [deps] Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" Compat = "34da2185-b29b-5c13-b0c7-acf172513d20" ExproniconLite = "55351af7-c7e9-48d6-89ff-24e801d99491" +FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" MLStyle = "d8e11817-5142-5d16-987a-aa16d5891078" MapBroadcast = "ebd9b9da-f48d-417c-9660-449667d60261" @@ -15,11 +16,9 @@ TypeParameterAccessors = "7e5a90cf-f82e-492e-a09b-e3e26432c138" [weakdeps] BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" -FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b" [extensions] DerivableInterfacesBlockArraysExt = "BlockArrays" -DerivableInterfacesFillArraysExt = "FillArrays" [compat] Adapt = "4.1.1" diff --git a/src/DerivableInterfaces.jl b/src/DerivableInterfaces.jl index c26cccb..2db6aa3 100644 --- a/src/DerivableInterfaces.jl +++ b/src/DerivableInterfaces.jl @@ -15,5 +15,6 @@ include("defaultarrayinterface.jl") include("traits.jl") include("permuteddims.jl") +include("fillarrays.jl") end diff --git a/ext/DerivableInterfacesFillArraysExt/DerivableInterfacesFillArraysExt.jl b/src/fillarrays.jl similarity index 51% rename from ext/DerivableInterfacesFillArraysExt/DerivableInterfacesFillArraysExt.jl rename to src/fillarrays.jl index 9658382..aef5ae1 100644 --- a/ext/DerivableInterfacesFillArraysExt/DerivableInterfacesFillArraysExt.jl +++ b/src/fillarrays.jl @@ -1,11 +1,9 @@ -module DerivableInterfacesFillArraysExt - -using DerivableInterfaces: DerivableInterfaces +# TODO: Turn this into a package extension, for some reson there is an issue +# with having a package extension for both FillArrays and BlockArrays +# in Julia v1.10. using FillArrays: RectDiagonal -function DerivableInterfaces.permuteddims(a::RectDiagonal, perm) +function permuteddims(a::RectDiagonal, perm) (ndims(a) == length(perm) && isperm(perm)) || throw(ArgumentError("no valid permutation of dimensions")) return RectDiagonal(parent(a), ntuple(d -> axes(a)[perm[d]], ndims(a))) end - -end