Skip to content

Commit 5e22b5e

Browse files
committed
add Adapt extension
1 parent 3392c90 commit 5e22b5e

2 files changed

Lines changed: 26 additions & 1 deletion

File tree

Project.toml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,14 @@ TensorOperations = "6aa20fa7-93e2-5fca-9bc0-fbd0db3c71a2"
1515
TupleTools = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6"
1616
VectorInterface = "409d34a3-91d5-4945-b6ec-7529ddf182d8"
1717

18+
[weakdeps]
19+
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
20+
21+
[extensions]
22+
BlockTensorKitAdaptExt = "Adapt"
23+
1824
[compat]
25+
Adapt = "4"
1926
Aqua = "0.8"
2027
BlockArrays = "1"
2128
Combinatorics = "1"
@@ -34,6 +41,7 @@ VectorInterface = "0.4.8, 0.5"
3441
julia = "1.10"
3542

3643
[extras]
44+
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
3745
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
3846
Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
3947
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
@@ -42,4 +50,4 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
4250
TestExtras = "5ed8adda-3752-4e41-b88a-e8b09835ee3a"
4351

4452
[targets]
45-
test = ["Test", "TestExtras", "Random", "Combinatorics", "SafeTestsets", "Aqua"]
53+
test = ["Test", "TestExtras", "Random", "Combinatorics", "SafeTestsets", "Aqua", "Adapt"]

ext/BlockTensorKitAdaptExt.jl

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
module BlockTensorKitAdaptExt
2+
3+
using TensorKit
4+
using BlockTensorKit
5+
using Adapt
6+
7+
function Adapt.adapt_structure(to, x::BlockTensorMap)
8+
data′ = map(adapt(to), x.data)
9+
return BlockTensorMap(data′, space(x))
10+
end
11+
12+
function Adapt.adapt_structure(to, x::SparseBlockTensorMap)
13+
data′ = Dict(I => adapt(to, v) for (I, v) in x.data)
14+
return SparseBlockTensorMap(data′, space(x))
15+
end
16+
17+
end

0 commit comments

Comments
 (0)