Skip to content

Commit c0e8216

Browse files
authored
FusionStyle on type (#54)
1 parent e235d04 commit c0e8216

File tree

2 files changed

+4
-12
lines changed

2 files changed

+4
-12
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "TensorAlgebra"
22
uuid = "68bd88dc-f39d-4e12-b2ca-f046b68fcc6a"
33
authors = ["ITensor developers <[email protected]> and contributors"]
4-
version = "0.3.1"
4+
version = "0.3.2"
55

66
[deps]
77
ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"

src/matricize.jl

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,11 @@ abstract type FusionStyle end
1010

1111
struct ReshapeFusion <: FusionStyle end
1212

13-
FusionStyle(a::AbstractArray) = FusionStyle(a, axes(a))
14-
function FusionStyle(a::AbstractArray, t::Tuple{Vararg{AbstractUnitRange}})
15-
return FusionStyle(a, combine_fusion_styles(FusionStyle.(t)...))
16-
end
13+
FusionStyle(x) = FusionStyle(typeof(x))
14+
FusionStyle(T::Type) = throw(MethodError(FusionStyle, (T,)))
1715

1816
# Defaults to ReshapeFusion, a simple reshape
19-
FusionStyle(::AbstractUnitRange) = ReshapeFusion()
20-
FusionStyle(::AbstractArray, ::ReshapeFusion) = ReshapeFusion()
21-
22-
combine_fusion_styles() = ReshapeFusion()
23-
combine_fusion_styles(::Style, ::Style) where {Style<:FusionStyle} = Style()
24-
combine_fusion_styles(::FusionStyle, ::FusionStyle) = ReshapeFusion()
25-
combine_fusion_styles(styles::FusionStyle...) = foldl(combine_fusion_styles, styles)
17+
FusionStyle(::Type{<:AbstractArray}) = ReshapeFusion()
2618

2719
# ======================================= misc ========================================
2820
trivial_axis(::Tuple{}) = Base.OneTo(1)

0 commit comments

Comments
 (0)