Skip to content

Commit d8b9487

Browse files
committed
Fix namespace issues
1 parent 11a5c98 commit d8b9487

File tree

11 files changed

+34
-13
lines changed

11 files changed

+34
-13
lines changed

NDTensors/src/abstractarray/set_types.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using .TypeParameterAccessors: TypeParameterAccessors, set_ndims
1+
using .TypeParameterAccessors: TypeParameterAccessors
2+
23
"""
34
# Do we still want to define things like this?
45
TODO: Use `Accessors.jl` notation:

NDTensors/src/abstractarray/similar.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using Base: DimOrInd, Dims, OneTo
2-
using .TypeParameterAccessors: IsWrappedArray, unwrap_array_type, set_eltype
2+
using .TypeParameterAccessors: IsWrappedArray, unwrap_array_type, set_eltype, similartype
33

44
## Custom `NDTensors.similar` implementation.
55
## More extensive than `Base.similar`.

NDTensors/src/blocksparse/blockdims.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using .TypeParameterAccessors: TypeParameterAccessors
2+
13
"""
24
BlockDim
35
@@ -18,7 +20,9 @@ const BlockDims{N} = NTuple{N,BlockDim}
1820

1921
Base.ndims(ds::Type{<:BlockDims{N}}) where {N} = N
2022

21-
similartype(::Type{<:BlockDims}, ::Type{Val{N}}) where {N} = BlockDims{N}
23+
function TypeParameterAccessors.similartype(::Type{<:BlockDims}, ::Type{Val{N}}) where {N}
24+
return BlockDims{N}
25+
end
2226

2327
Base.copy(ds::BlockDims) = ds
2428

NDTensors/src/blocksparse/blocksparsetensor.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using .TypeParameterAccessors: similartype
2+
13
#
24
# BlockSparseTensor (Tensor using BlockSparse storage)
35
#

NDTensors/src/blocksparse/diagblocksparse.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using .TypeParameterAccessors: similartype
2+
13
export DiagBlockSparse, DiagBlockSparseTensor
24

35
# DiagBlockSparse can have either Vector storage, in which case

NDTensors/src/blocksparse/similar.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using .TypeParameterAccessors: similartype
2+
13
# NDTensors.similar
24
function similar(storagetype::Type{<:BlockSparse}, blockoffsets::BlockOffsets, dims::Tuple)
35
data = similar(datatype(storagetype), nnz(blockoffsets, dims))

NDTensors/src/diag/similar.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1+
using NDTensors.TypeParameterAccessors: TypeParameterAccessors
2+
13
# NDTensors.similar
24
function similar(storagetype::Type{<:Diag}, dims::Dims)
35
return setdata(storagetype, similar(datatype(storagetype), mindim(dims)))
46
end
57

68
# TODO: Redesign UniformDiag to make it handled better
79
# by generic code.
8-
function similartype(storagetype::Type{<:UniformDiag}, eltype::Type)
10+
function TypeParameterAccessors.similartype(storagetype::Type{<:UniformDiag}, eltype::Type)
911
# This will also set the `datatype`.
1012
return set_eltype(storagetype, eltype)
1113
end

NDTensors/src/dims.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using .DiagonalArrays: DiagonalArrays
2+
using .TypeParameterAccessors: TypeParameterAccessors
23

34
export dense, dims, dim, mindim, diaglength
45

@@ -52,7 +53,7 @@ dim_to_stride(ds, k::Int) = dim_to_strides(ds)[k]
5253
# code (it helps to construct a Tuple(::NTuple{N,Int}) where the
5354
# only known thing for dispatch is a concrete type such
5455
# as Dims{4})
55-
similartype(::Type{<:Dims}, ::Type{Val{N}}) where {N} = Dims{N}
56+
TypeParameterAccessors.similartype(::Type{<:Dims}, ::Type{Val{N}}) where {N} = Dims{N}
5657

5758
# This is to help with ITensor compatibility
5859
dim(i::Int) = i

NDTensors/src/empty/empty.jl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,25 @@
1+
using .TypeParameterAccessors: TypeParameterAccessors, set_eltype, similartype
12

23
#
34
# Represents a tensor order that could be set to any order.
45
#
56

67
struct EmptyOrder end
78

8-
function similartype(StoreT::Type{<:TensorStorage{EmptyNumber}}, ElT::Type)
9+
function TypeParameterAccessors.similartype(
10+
StoreT::Type{<:TensorStorage{EmptyNumber}}, ElT::Type
11+
)
912
return set_eltype(StoreT, ElT)
1013
end
1114

12-
function similartype(
15+
function TypeParameterAccessors.similartype(
1316
StoreT::Type{<:TensorStorage{EmptyNumber}}, DataT::Type{<:AbstractArray}
1417
)
1518
return set_datatype(StoreT, DataT)
1619
end
1720

1821
## TODO fix this similartype to use set eltype for BlockSparse
19-
function similartype(
22+
function TypeParameterAccessors.similartype(
2023
::Type{StoreT}, ::Type{ElT}
2124
) where {StoreT<:BlockSparse{EmptyNumber},ElT}
2225
return BlockSparse{ElT,similartype(datatype(StoreT), ElT),ndims(StoreT)}

NDTensors/src/tensor/similar.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using .TypeParameterAccessors: set_indstype
1+
using .TypeParameterAccessors: TypeParameterAccessors, set_indstype, similartype
22

33
# NDTensors.similar
44
similar(tensor::Tensor) = setstorage(tensor, similar(storage(tensor)))
@@ -58,11 +58,11 @@ function Base.similar(tensor::Tensor, eltype::Type, dims::Dims)
5858
return NDTensors.similar(tensor, eltype, dims)
5959
end
6060

61-
function similartype(tensortype::Type{<:Tensor}, eltype::Type)
61+
function TypeParameterAccessors.similartype(tensortype::Type{<:Tensor}, eltype::Type)
6262
return set_storagetype(tensortype, similartype(storagetype(tensortype), eltype))
6363
end
6464

65-
function similartype(tensortype::Type{<:Tensor}, dims::Tuple)
65+
function TypeParameterAccessors.similartype(tensortype::Type{<:Tensor}, dims::Tuple)
6666
tensortype_new_inds = set_indstype(tensortype, dims)
6767
# Need to pass `dims` in case that information is needed to make a storage type,
6868
# for example `BlockSparse` needs the number of dimensions.

0 commit comments

Comments
 (0)