Skip to content

Commit 29c7d50

Browse files
authored
Define mapnameddimsindices (#25)
1 parent 8031650 commit 29c7d50

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "NamedDimsArrays"
22
uuid = "60cbd0c0-df58-4cb7-918c-6f5607b73fde"
33
authors = ["ITensor developers <[email protected]> and contributors"]
4-
version = "0.3.9"
4+
version = "0.3.10"
55

66
[deps]
77
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"

src/abstractnameddimsarray.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,9 @@ function replacenameddimsindices(a::AbstractNamedDimsArray, replacements::Pair..
290290
new_nameddimsindices = named.(dename.(old_nameddimsindices), last.(replacements))
291291
return replacenameddimsindices(a, (old_nameddimsindices .=> new_nameddimsindices)...)
292292
end
293+
function mapnameddimsindices(f, a::AbstractNamedDimsArray)
294+
return setnameddimsindices(a, map(f, nameddimsindices(a)))
295+
end
293296

294297
# `Base.isempty(a::AbstractArray)` is defined as `length(a) == 0`,
295298
# which involves comparing a named integer to an unnamed integer

test/basics/test_basics.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ using NamedDimsArrays:
1717
dims,
1818
fusednames,
1919
isnamed,
20+
mapnameddimsindices,
2021
name,
2122
named,
2223
nameddims,
@@ -138,6 +139,9 @@ using Test: @test, @test_throws, @testset
138139
nb = replacenameddimsindices(n -> n == named(1:3, "i") ? named(1:3, "k") : n, na)
139140
@test nameddimsindices(nb) == (named(1:3, "k"), named(1:4, "j"))
140141
@test dename(nb) == a
142+
nb = mapnameddimsindices(n -> n == named(1:3, "i") ? named(1:3, "k") : n, na)
143+
@test nameddimsindices(nb) == (named(1:3, "k"), named(1:4, "j"))
144+
@test dename(nb) == a
141145
nb = setnameddimsindices(na, named(3, "i") => named(3, "k"))
142146
na[1, 1] = 11
143147
@test na[1, 1] == 11

0 commit comments

Comments
 (0)