diff --git a/test/reference32/constructors/format_SparseBand.txt b/test/reference32/constructors/format_SparseBand.txt index b176a2685..dc6197dff 100644 --- a/test/reference32/constructors/format_SparseBand.txt +++ b/test/reference32/constructors/format_SparseBand.txt @@ -1,8 +1,8 @@ Tensor(SparseBand(Element(0))) constructors: -initialized tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}([2.0, 2.0, 0.0, 3.0]), 6, [1, 2], [5], [1, 5])) -initialized tensor: Tensor(SparseBand{Int16}(Element{0.0, Float64, Int32}([2.0, 2.0, 0.0, 3.0]), 6, [1, 2], Int16[5], [1, 5])) -sized tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}(Float64[]), 7, [1], Int32[], Int32[])) -sized tensor: Tensor(SparseBand{Int16}(Element{0.0, Float64, Int32}(Float64[]), 7, [1], Int16[], Int32[])) -empty tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}(Float64[]), 0, [1], Int32[], Int32[])) -empty tensor: Tensor(SparseBand{Int16}(Element{0.0, Float64, Int32}(Float64[]), 0, [1], Int16[], Int32[])) +initialized tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}([2.0, 2.0, 0.0, 3.0]), 6, [5], [1, 5])) +initialized tensor: Tensor(SparseBand{Int16}(Element{0.0, Float64, Int32}([2.0, 2.0, 0.0, 3.0]), 6, Int16[5], [1, 5])) +sized tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}(Float64[]), 7, Int32[], Int32[])) +sized tensor: Tensor(SparseBand{Int16}(Element{0.0, Float64, Int32}(Float64[]), 7, Int16[], Int32[])) +empty tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}(Float64[]), 0, Int32[], Int32[])) +empty tensor: Tensor(SparseBand{Int16}(Element{0.0, Float64, Int32}(Float64[]), 0, Int16[], Int32[])) diff --git a/test/reference32/constructors/format_SparseInterval.txt b/test/reference32/constructors/format_SparseInterval.txt index 380540dfa..bffd6264a 100644 --- a/test/reference32/constructors/format_SparseInterval.txt +++ b/test/reference32/constructors/format_SparseInterval.txt @@ -1,8 +1,8 @@ Tensor(SparseInterval(Element(0))) constructors: -initialized tensor: Tensor(SparseInterval{Int32}(Element{0.0, Float64, Int32}([2.0]), 6, [1, 2], [3], [3])) -initialized tensor: Tensor(SparseInterval{Int16}(Element{0.0, Float64, Int32}([2.0]), 6, [1, 2], Int16[3], Int16[3])) -sized tensor: Tensor(SparseInterval{Int32}(Element{0.0, Float64, Int32}(Float64[]), 7, [1], Int32[], Int32[])) -sized tensor: Tensor(SparseInterval{Int16}(Element{0.0, Float64, Int32}(Float64[]), 7, [1], Int16[], Int16[])) -empty tensor: Tensor(SparseInterval{Int32}(Element{0.0, Float64, Int32}(Float64[]), 0, [1], Int32[], Int32[])) -empty tensor: Tensor(SparseInterval{Int16}(Element{0.0, Float64, Int32}(Float64[]), 0, [1], Int16[], Int16[])) +initialized tensor: Tensor(SparseInterval{Int32}(Element{0.0, Float64, Int32}([2.0]), 6, [3], [3])) +initialized tensor: Tensor(SparseInterval{Int16}(Element{0.0, Float64, Int32}([2.0]), 6, Int16[3], Int16[3])) +sized tensor: Tensor(SparseInterval{Int32}(Element{0.0, Float64, Int32}(Float64[]), 7, Int32[], Int32[])) +sized tensor: Tensor(SparseInterval{Int16}(Element{0.0, Float64, Int32}(Float64[]), 7, Int16[], Int16[])) +empty tensor: Tensor(SparseInterval{Int32}(Element{0.0, Float64, Int32}(Float64[]), 0, Int32[], Int32[])) +empty tensor: Tensor(SparseInterval{Int16}(Element{0.0, Float64, Int32}(Float64[]), 0, Int16[], Int16[])) diff --git a/test/reference32/constructors/format_SparsePoint.txt b/test/reference32/constructors/format_SparsePoint.txt index d7be36827..2b7854852 100644 --- a/test/reference32/constructors/format_SparsePoint.txt +++ b/test/reference32/constructors/format_SparsePoint.txt @@ -1,8 +1,8 @@ Tensor(SparsePoint(Element(0))) constructors: -initialized tensor: Tensor(SparsePoint{Int32}(Element{0.0, Float64, Int32}([2.0]), 6, [1, 2], [3])) -initialized tensor: Tensor(SparsePoint{Int16}(Element{0.0, Float64, Int32}([2.0]), 6, [1, 2], Int16[3])) -sized tensor: Tensor(SparsePoint{Int32}(Element{0.0, Float64, Int32}(Float64[]), 7, [1], Int32[])) -sized tensor: Tensor(SparsePoint{Int16}(Element{0.0, Float64, Int32}(Float64[]), 7, [1], Int16[])) -empty tensor: Tensor(SparsePoint{Int32}(Element{0.0, Float64, Int32}(Float64[]), 0, [1], Int32[])) -empty tensor: Tensor(SparsePoint{Int16}(Element{0.0, Float64, Int32}(Float64[]), 0, [1], Int16[])) +initialized tensor: Tensor(SparsePoint{Int32}(Element{0.0, Float64, Int32}([2.0]), 6, [3])) +initialized tensor: Tensor(SparsePoint{Int16}(Element{0.0, Float64, Int32}([2.0]), 6, Int16[3])) +sized tensor: Tensor(SparsePoint{Int32}(Element{0.0, Float64, Int32}(Float64[]), 7, Int32[])) +sized tensor: Tensor(SparsePoint{Int16}(Element{0.0, Float64, Int32}(Float64[]), 7, Int16[])) +empty tensor: Tensor(SparsePoint{Int32}(Element{0.0, Float64, Int32}(Float64[]), 0, Int32[])) +empty tensor: Tensor(SparsePoint{Int16}(Element{0.0, Float64, Int32}(Float64[]), 0, Int16[])) diff --git a/test/reference32/representation/Dense{SparseBand}_representation.txt b/test/reference32/representation/Dense{SparseBand}_representation.txt index c3bb36048..f245b32ae 100644 --- a/test/reference32/representation/Dense{SparseBand}_representation.txt +++ b/test/reference32/representation/Dense{SparseBand}_representation.txt @@ -1,24 +1,24 @@ Dense{SparseBand} representation: 5x5_falses: Bool[0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0] -tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[]), 5, [1, 1, 1, 1, 1, 1], Int32[], [1]), 5)) +tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[]), 5, [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]), 5)) countstored: 0 5x5_trues: Bool[1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1] -tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), 5, [1, 2, 3, 4, 5, 6], [5, 5, 5, 5, 5], [1, 6, 11, 16, 21, 26]), 5)) +tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), 5, [5, 5, 5, 5, 5], [1, 6, 11, 16, 21, 26]), 5)) countstored: 25 4x4_one_bool: Bool[0 0 0 1; 0 0 0 0; 1 0 0 0; 0 1 0 0] -tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1]), 4, [1, 2, 3, 3, 4], [3, 4, 1], [1, 2, 3, 4]), 4)) +tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1]), 4, [3, 4, 1, 1], [1, 2, 3, 3, 4]), 4)) countstored: 3 5x4_bool_mix: Bool[0 1 0 1; 0 0 0 0; 1 1 1 1; 1 1 1 1; 0 1 0 1] -tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1]), 5, [1, 2, 3, 4, 5], [4, 5, 4, 5], [1, 3, 8, 10, 15]), 4)) +tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1]), 5, [4, 5, 4, 5], [1, 3, 8, 10, 15]), 4)) countstored: 14 5x5_zeros: [0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0] -tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{0.0, Float64, Int32}(Float64[]), 5, [1, 1, 1, 1, 1, 1], Int32[], [1]), 5)) +tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{0.0, Float64, Int32}(Float64[]), 5, [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]), 5)) countstored: 0 5x5_ones: [1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0] -tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]), 5, [1, 2, 3, 4, 5, 6], [5, 5, 5, 5, 5], [1, 6, 11, 16, 21, 26]), 5)) +tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]), 5, [5, 5, 5, 5, 5], [1, 6, 11, 16, 21, 26]), 5)) countstored: 25 5x5_float_mix: [0.0 1.0 2.0 2.0 3.0; 0.0 0.0 0.0 0.0 0.0; 1.0 1.0 2.0 0.0 0.0; 0.0 0.0 0.0 3.0 0.0; 0.0 0.0 0.0 0.0 0.0] -tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 0.0, 1.0, 2.0, 0.0, 2.0, 2.0, 0.0, 0.0, 3.0, 3.0]), 5, [1, 2, 3, 4, 5, 6], [3, 3, 3, 4, 1], [1, 2, 5, 8, 12, 13]), 5)) +tensor: Tensor(Dense{Int32}(SparseBand{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 0.0, 1.0, 2.0, 0.0, 2.0, 2.0, 0.0, 0.0, 3.0, 3.0]), 5, [3, 3, 3, 4, 1], [1, 2, 5, 8, 12, 13]), 5)) countstored: 12 diff --git a/test/reference32/representation/SparseBand_representation.txt b/test/reference32/representation/SparseBand_representation.txt index 46adcf57e..9eac0f1f1 100644 --- a/test/reference32/representation/SparseBand_representation.txt +++ b/test/reference32/representation/SparseBand_representation.txt @@ -1,39 +1,39 @@ SparseBand representation: 5x_false: Bool[0, 0, 0, 0, 0] -tensor: Tensor(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[]), 5, [1, 1], Int32[], [1])) +tensor: Tensor(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[]), 5, [1], [1, 1])) countstored: 0 5x_true: Bool[1, 1, 1, 1, 1] -tensor: Tensor(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1]), 5, [1, 2], [5], [1, 6])) +tensor: Tensor(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1]), 5, [5], [1, 6])) countstored: 5 6x_bool_mix: Bool[0, 1, 1, 0, 0, 1] -tensor: Tensor(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 0, 0, 1]), 6, [1, 2], [6], [1, 6])) +tensor: Tensor(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 0, 0, 1]), 6, [6], [1, 6])) countstored: 5 6x_one_bool: Bool[0, 0, 1, 0, 0, 0] -tensor: Tensor(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1]), 6, [1, 2], [3], [1, 2])) +tensor: Tensor(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1]), 6, [3], [1, 2])) countstored: 1 1111x_bool_mix: Bool[0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -tensor: Tensor(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1]), 1111, [1, 2], [1001], [1, 1001])) +tensor: Tensor(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1]), 1111, [1001], [1, 1001])) countstored: 1000 11x_bool_mix: Bool[0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1] -tensor: Tensor(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 0, 1, 1, 1, 1, 1, 0, 1]), 11, [1, 2], [11], [1, 11])) +tensor: Tensor(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 0, 1, 1, 1, 1, 1, 0, 1]), 11, [11], [1, 11])) countstored: 10 6x_float_mix: [0.0, 2.0, 2.0, 0.0, 3.0, 3.0] -tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}([2.0, 2.0, 0.0, 3.0, 3.0]), 6, [1, 2], [6], [1, 6])) +tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}([2.0, 2.0, 0.0, 3.0, 3.0]), 6, [6], [1, 6])) countstored: 5 4x_zeros: [0.0, 0.0, 0.0, 0.0] -tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}(Float64[]), 4, [1, 1], Int32[], [1])) +tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}(Float64[]), 4, [1], [1, 1])) countstored: 0 5x_zeros: [0.0, 0.0, 0.0, 0.0, 0.0] -tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}(Float64[]), 5, [1, 1], Int32[], [1])) +tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}(Float64[]), 5, [1], [1, 1])) countstored: 0 5x_ones: [1.0, 1.0, 1.0, 1.0, 1.0] -tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 1.0, 1.0]), 5, [1, 2], [5], [1, 6])) +tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 1.0, 1.0]), 5, [5], [1, 6])) countstored: 5 9x_float_mix: [0.0, 1.0, 1.0, 2.0, 2.0, 0.0, 0.0, 3.0, 0.0] -tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 2.0, 2.0, 0.0, 0.0, 3.0]), 9, [1, 2], [8], [1, 8])) +tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 2.0, 2.0, 0.0, 0.0, 3.0]), 9, [8], [1, 8])) countstored: 7 1111x_float_mix: [0.0, 20.0, 30.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5550.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6660.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] -tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}([20.0, 30.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5550.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6660.0]), 1111, [1, 2], [666], [1, 666])) +tensor: Tensor(SparseBand{Int32}(Element{0.0, Float64, Int32}([20.0, 30.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5550.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6660.0]), 1111, [666], [1, 666])) countstored: 665 diff --git a/test/reference32/representation/SparseBand{Dense}_representation.txt b/test/reference32/representation/SparseBand{Dense}_representation.txt index fa0a0a82b..91f33438a 100644 --- a/test/reference32/representation/SparseBand{Dense}_representation.txt +++ b/test/reference32/representation/SparseBand{Dense}_representation.txt @@ -1,24 +1,24 @@ SparseBand{Dense} representation: 5x5_falses: Bool[0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0] -tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{false, Bool, Int32}(Bool[]), 5), 5, [1, 1], Int32[], [1])) +tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{false, Bool, Int32}(Bool[]), 5), 5, [1], [1, 1])) countstored: 0 5x5_trues: Bool[1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1] -tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), 5), 5, [1, 2], [5], [1, 6])) +tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), 5), 5, [5], [1, 6])) countstored: 25 4x4_one_bool: Bool[0 0 0 1; 0 0 0 0; 1 0 0 0; 0 1 0 0] -tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{false, Bool, Int32}(Bool[0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0]), 4), 4, [1, 2], [4], [1, 5])) +tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{false, Bool, Int32}(Bool[0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0]), 4), 4, [4], [1, 5])) countstored: 16 5x4_bool_mix: Bool[0 1 0 1; 0 0 0 0; 1 1 1 1; 1 1 1 1; 0 1 0 1] -tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{false, Bool, Int32}(Bool[0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]), 5), 4, [1, 2], [4], [1, 5])) +tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{false, Bool, Int32}(Bool[0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]), 5), 4, [4], [1, 5])) countstored: 20 5x5_zeros: [0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0] -tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{0.0, Float64, Int32}(Float64[]), 5), 5, [1, 1], Int32[], [1])) +tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{0.0, Float64, Int32}(Float64[]), 5), 5, [1], [1, 1])) countstored: 0 5x5_ones: [1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0] -tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]), 5), 5, [1, 2], [5], [1, 6])) +tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]), 5), 5, [5], [1, 6])) countstored: 25 5x5_float_mix: [0.0 1.0 2.0 2.0 3.0; 0.0 0.0 0.0 0.0 0.0; 1.0 1.0 2.0 0.0 0.0; 0.0 0.0 0.0 3.0 0.0; 0.0 0.0 0.0 0.0 0.0] -tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{0.0, Float64, Int32}([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 2.0, 0.0, 2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 3.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0]), 5), 5, [1, 2], [5], [1, 6])) +tensor: Tensor(SparseBand{Int32}(Dense{Int32}(Element{0.0, Float64, Int32}([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 2.0, 0.0, 2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 3.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0]), 5), 5, [5], [1, 6])) countstored: 25 diff --git a/test/reference32/representation/SparseBand{SparseList}_representation.txt b/test/reference32/representation/SparseBand{SparseList}_representation.txt index 807c8a91f..48853ab6b 100644 --- a/test/reference32/representation/SparseBand{SparseList}_representation.txt +++ b/test/reference32/representation/SparseBand{SparseList}_representation.txt @@ -1,24 +1,24 @@ SparseBand{SparseList} representation: 5x5_falses: Bool[0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0] -tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{false, Bool, Int32}(Bool[]), 5, [1], Int32[]), 5, [1, 1], Int32[], [1])) +tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{false, Bool, Int32}(Bool[]), 5, [1], Int32[]), 5, [1], [1, 1])) countstored: 0 5x5_trues: Bool[1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1] -tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), 5, [1, 6, 11, 16, 21, 26], [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]), 5, [1, 2], [5], [1, 6])) +tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), 5, [1, 6, 11, 16, 21, 26], [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]), 5, [5], [1, 6])) countstored: 25 4x4_one_bool: Bool[0 0 0 1; 0 0 0 0; 1 0 0 0; 0 1 0 0] -tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1]), 4, [1, 2, 3, 3, 4], [3, 4, 1]), 4, [1, 2], [4], [1, 5])) +tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1]), 4, [1, 2, 3, 3, 4], [3, 4, 1]), 4, [4], [1, 5])) countstored: 3 5x4_bool_mix: Bool[0 1 0 1; 0 0 0 0; 1 1 1 1; 1 1 1 1; 0 1 0 1] -tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), 5, [1, 3, 7, 9, 13], [3, 4, 1, 3, 4, 5, 3, 4, 1, 3, 4, 5]), 4, [1, 2], [4], [1, 5])) +tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), 5, [1, 3, 7, 9, 13], [3, 4, 1, 3, 4, 5, 3, 4, 1, 3, 4, 5]), 4, [4], [1, 5])) countstored: 12 5x5_zeros: [0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0] -tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{0.0, Float64, Int32}(Float64[]), 5, [1], Int32[]), 5, [1, 1], Int32[], [1])) +tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{0.0, Float64, Int32}(Float64[]), 5, [1], Int32[]), 5, [1], [1, 1])) countstored: 0 5x5_ones: [1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0] -tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]), 5, [1, 6, 11, 16, 21, 26], [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]), 5, [1, 2], [5], [1, 6])) +tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]), 5, [1, 6, 11, 16, 21, 26], [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]), 5, [5], [1, 6])) countstored: 25 5x5_float_mix: [0.0 1.0 2.0 2.0 3.0; 0.0 0.0 0.0 0.0 0.0; 1.0 1.0 2.0 0.0 0.0; 0.0 0.0 0.0 3.0 0.0; 0.0 0.0 0.0 0.0 0.0] -tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0]), 5, [1, 2, 4, 6, 8, 9], [3, 1, 3, 1, 3, 1, 4, 1]), 5, [1, 2], [5], [1, 6])) +tensor: Tensor(SparseBand{Int32}(SparseList{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0]), 5, [1, 2, 4, 6, 8, 9], [3, 1, 3, 1, 3, 1, 4, 1]), 5, [5], [1, 6])) countstored: 8 diff --git a/test/reference32/representation/SparseInterval_representation.txt b/test/reference32/representation/SparseInterval_representation.txt index f17c5e63c..16a0f6fde 100644 --- a/test/reference32/representation/SparseInterval_representation.txt +++ b/test/reference32/representation/SparseInterval_representation.txt @@ -1,6 +1,6 @@ SparseInterval representation: 6x_one_bool: Bool[0, 0, 1, 0, 0, 0] -tensor: Tensor(SparseInterval{Int32}(Element{false, Bool, Int32}(Bool[1]), 6, [1, 2], [3], [3])) +tensor: Tensor(SparseInterval{Int32}(Element{false, Bool, Int32}(Bool[1]), 6, [3], [3])) countstored: 1 diff --git a/test/reference32/representation/SparseList{SparseBand}_representation.txt b/test/reference32/representation/SparseList{SparseBand}_representation.txt index ce8c6b160..2d6066e3d 100644 --- a/test/reference32/representation/SparseList{SparseBand}_representation.txt +++ b/test/reference32/representation/SparseList{SparseBand}_representation.txt @@ -1,24 +1,24 @@ SparseList{SparseBand} representation: 5x5_falses: Bool[0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0] -tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[]), 5, [1], Int32[], [1]), 5, [1, 1], Int32[])) +tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[]), 5, Int32[], [1]), 5, [1, 1], Int32[])) countstored: 0 5x5_trues: Bool[1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1] -tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), 5, [1, 2, 3, 4, 5, 6], [5, 5, 5, 5, 5], [1, 6, 11, 16, 21, 26]), 5, [1, 6], [1, 2, 3, 4, 5])) +tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), 5, [5, 5, 5, 5, 5], [1, 6, 11, 16, 21, 26]), 5, [1, 6], [1, 2, 3, 4, 5])) countstored: 25 4x4_one_bool: Bool[0 0 0 1; 0 0 0 0; 1 0 0 0; 0 1 0 0] -tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1]), 4, [1, 2, 3, 4], [3, 4, 1], [1, 2, 3, 4]), 4, [1, 4], [1, 2, 4])) +tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1]), 4, [3, 4, 1], [1, 2, 3, 4]), 4, [1, 4], [1, 2, 4])) countstored: 3 5x4_bool_mix: Bool[0 1 0 1; 0 0 0 0; 1 1 1 1; 1 1 1 1; 0 1 0 1] -tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1]), 5, [1, 2, 3, 4, 5], [4, 5, 4, 5], [1, 3, 8, 10, 15]), 4, [1, 5], [1, 2, 3, 4])) +tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{false, Bool, Int32}(Bool[1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1]), 5, [4, 5, 4, 5], [1, 3, 8, 10, 15]), 4, [1, 5], [1, 2, 3, 4])) countstored: 14 5x5_zeros: [0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0] -tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{0.0, Float64, Int32}(Float64[]), 5, [1], Int32[], [1]), 5, [1, 1], Int32[])) +tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{0.0, Float64, Int32}(Float64[]), 5, Int32[], [1]), 5, [1, 1], Int32[])) countstored: 0 5x5_ones: [1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0] -tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]), 5, [1, 2, 3, 4, 5, 6], [5, 5, 5, 5, 5], [1, 6, 11, 16, 21, 26]), 5, [1, 6], [1, 2, 3, 4, 5])) +tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]), 5, [5, 5, 5, 5, 5], [1, 6, 11, 16, 21, 26]), 5, [1, 6], [1, 2, 3, 4, 5])) countstored: 25 5x5_float_mix: [0.0 1.0 2.0 2.0 3.0; 0.0 0.0 0.0 0.0 0.0; 1.0 1.0 2.0 0.0 0.0; 0.0 0.0 0.0 3.0 0.0; 0.0 0.0 0.0 0.0 0.0] -tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 0.0, 1.0, 2.0, 0.0, 2.0, 2.0, 0.0, 0.0, 3.0, 3.0]), 5, [1, 2, 3, 4, 5, 6], [3, 3, 3, 4, 1], [1, 2, 5, 8, 12, 13]), 5, [1, 6], [1, 2, 3, 4, 5])) +tensor: Tensor(SparseList{Int32}(SparseBand{Int32}(Element{0.0, Float64, Int32}([1.0, 1.0, 0.0, 1.0, 2.0, 0.0, 2.0, 2.0, 0.0, 0.0, 3.0, 3.0]), 5, [3, 3, 3, 4, 1], [1, 2, 5, 8, 12, 13]), 5, [1, 6], [1, 2, 3, 4, 5])) countstored: 12 diff --git a/test/reference32/representation/SparsePoint_representation.txt b/test/reference32/representation/SparsePoint_representation.txt index d17e96caf..49eb14481 100644 --- a/test/reference32/representation/SparsePoint_representation.txt +++ b/test/reference32/representation/SparsePoint_representation.txt @@ -1,6 +1,6 @@ SparsePoint representation: 6x_one_bool: Bool[0, 0, 1, 0, 0, 0] -tensor: Tensor(SparsePoint{Int32}(Element{false, Bool, Int32}(Bool[1]), 6, [1, 2], [3])) +tensor: Tensor(SparsePoint{Int32}(Element{false, Bool, Int32}(Bool[1]), 6, [3])) countstored: 1 diff --git a/test/reference32/representation/convert_from_SparseBand{Element{0.0}}.jl b/test/reference32/representation/convert_from_SparseBand{Element{0.0}}.jl index e942e37b3..de55cc94a 100644 --- a/test/reference32/representation/convert_from_SparseBand{Element{0.0}}.jl +++ b/test/reference32/representation/convert_from_SparseBand{Element{0.0}}.jl @@ -5,7 +5,6 @@ quote res_lvl_2 = res_lvl.lvl res_lvl_val = res_lvl.lvl.val tmp_lvl = ((ex.bodies[1]).bodies[2]).body.rhs.tns.bind.lvl - tmp_lvl_ptr = tmp_lvl.ptr tmp_lvl_idx = tmp_lvl.idx tmp_lvl_ofs = tmp_lvl.ofs tmp_lvl_val = tmp_lvl.lvl.val @@ -14,17 +13,10 @@ quote Finch.fill_range!(res_lvl_ptr, 0, 1 + 1, 1 + 1) res_lvl_qos = 0 + 1 0 < 1 || throw(FinchProtocolError("SparseListLevels cannot be updated multiple times")) - tmp_lvl_r = tmp_lvl_ptr[1] - tmp_lvl_r_stop = tmp_lvl_ptr[1 + 1] - 1 - if tmp_lvl_r <= tmp_lvl_r_stop - tmp_lvl_i1 = tmp_lvl_idx[tmp_lvl_r] - tmp_lvl_q_stop = tmp_lvl_ofs[tmp_lvl_r + 1] - tmp_lvl_i_2 = tmp_lvl_i1 - ((tmp_lvl_q_stop - tmp_lvl_ofs[tmp_lvl_r]) - 1) - tmp_lvl_q_ofs = (tmp_lvl_q_stop - tmp_lvl_i1) - 1 - else - tmp_lvl_i_2 = 1 - tmp_lvl_i1 = 0 - end + tmp_lvl_i1 = tmp_lvl_idx[1] + tmp_lvl_q_stop = tmp_lvl_ofs[1 + 1] + tmp_lvl_i_2 = tmp_lvl_i1 - ((tmp_lvl_q_stop - tmp_lvl_ofs[1]) - 1) + tmp_lvl_q_ofs = (tmp_lvl_q_stop - tmp_lvl_i1) - 1 phase_start_2 = max(1, tmp_lvl_i_2) phase_stop_2 = min(tmp_lvl.shape, tmp_lvl_i1) if phase_stop_2 >= phase_start_2 diff --git a/test/reference32/representation/convert_from_SparseBand{Element{false}}.jl b/test/reference32/representation/convert_from_SparseBand{Element{false}}.jl index 073819839..8be7d517d 100644 --- a/test/reference32/representation/convert_from_SparseBand{Element{false}}.jl +++ b/test/reference32/representation/convert_from_SparseBand{Element{false}}.jl @@ -5,7 +5,6 @@ quote res_lvl_2 = res_lvl.lvl res_lvl_val = res_lvl.lvl.val tmp_lvl = ((ex.bodies[1]).bodies[2]).body.rhs.tns.bind.lvl - tmp_lvl_ptr = tmp_lvl.ptr tmp_lvl_idx = tmp_lvl.idx tmp_lvl_ofs = tmp_lvl.ofs tmp_lvl_val = tmp_lvl.lvl.val @@ -14,17 +13,10 @@ quote Finch.fill_range!(res_lvl_ptr, 0, 1 + 1, 1 + 1) res_lvl_qos = 0 + 1 0 < 1 || throw(FinchProtocolError("SparseListLevels cannot be updated multiple times")) - tmp_lvl_r = tmp_lvl_ptr[1] - tmp_lvl_r_stop = tmp_lvl_ptr[1 + 1] - 1 - if tmp_lvl_r <= tmp_lvl_r_stop - tmp_lvl_i1 = tmp_lvl_idx[tmp_lvl_r] - tmp_lvl_q_stop = tmp_lvl_ofs[tmp_lvl_r + 1] - tmp_lvl_i_2 = tmp_lvl_i1 - ((tmp_lvl_q_stop - tmp_lvl_ofs[tmp_lvl_r]) - 1) - tmp_lvl_q_ofs = (tmp_lvl_q_stop - tmp_lvl_i1) - 1 - else - tmp_lvl_i_2 = 1 - tmp_lvl_i1 = 0 - end + tmp_lvl_i1 = tmp_lvl_idx[1] + tmp_lvl_q_stop = tmp_lvl_ofs[1 + 1] + tmp_lvl_i_2 = tmp_lvl_i1 - ((tmp_lvl_q_stop - tmp_lvl_ofs[1]) - 1) + tmp_lvl_q_ofs = (tmp_lvl_q_stop - tmp_lvl_i1) - 1 phase_start_2 = max(1, tmp_lvl_i_2) phase_stop_2 = min(tmp_lvl.shape, tmp_lvl_i1) if phase_stop_2 >= phase_start_2 diff --git a/test/reference32/representation/convert_from_SparseInterval{Element{false}}.jl b/test/reference32/representation/convert_from_SparseInterval{Element{false}}.jl index 7ddae043b..a43d2394b 100644 --- a/test/reference32/representation/convert_from_SparseInterval{Element{false}}.jl +++ b/test/reference32/representation/convert_from_SparseInterval{Element{false}}.jl @@ -5,7 +5,6 @@ quote res_lvl_2 = res_lvl.lvl res_lvl_val = res_lvl.lvl.val tmp_lvl = ((ex.bodies[1]).bodies[2]).body.rhs.tns.bind.lvl - tmp_lvl_ptr = tmp_lvl.ptr tmp_lvl_left = tmp_lvl.left tmp_lvl_right = tmp_lvl.right tmp_lvl_val = tmp_lvl.lvl.val @@ -14,19 +13,12 @@ quote Finch.fill_range!(res_lvl_ptr, 0, 1 + 1, 1 + 1) res_lvl_qos = 0 + 1 0 < 1 || throw(FinchProtocolError("SparseListLevels cannot be updated multiple times")) - tmp_lvl_q = tmp_lvl_ptr[1] - tmp_lvl_q_stop = tmp_lvl_ptr[1 + 1] - if tmp_lvl_q < tmp_lvl_q_stop - tmp_lvl_i_start = tmp_lvl_left[tmp_lvl_q] - tmp_lvl_i_stop = tmp_lvl_right[tmp_lvl_q] - else - tmp_lvl_i_start = 1 - tmp_lvl_i_stop = 0 - end + tmp_lvl_i_start = tmp_lvl_left[1] + tmp_lvl_i_stop = tmp_lvl_right[1] phase_start_2 = max(1, tmp_lvl_i_start) phase_stop_2 = min(tmp_lvl.shape, tmp_lvl_i_stop) if phase_stop_2 >= phase_start_2 - tmp_lvl_2_val = tmp_lvl_val[tmp_lvl_q] + tmp_lvl_2_val = tmp_lvl_val[1] for i_6 = phase_start_2:phase_stop_2 if res_lvl_qos > res_lvl_qos_stop res_lvl_qos_stop = max(res_lvl_qos_stop << 1, 1) diff --git a/test/reference32/representation/convert_from_SparsePoint{Element{false}}.jl b/test/reference32/representation/convert_from_SparsePoint{Element{false}}.jl index 9c28282cf..671dca2c7 100644 --- a/test/reference32/representation/convert_from_SparsePoint{Element{false}}.jl +++ b/test/reference32/representation/convert_from_SparsePoint{Element{false}}.jl @@ -5,25 +5,18 @@ quote res_lvl_2 = res_lvl.lvl res_lvl_val = res_lvl.lvl.val tmp_lvl = ((ex.bodies[1]).bodies[2]).body.rhs.tns.bind.lvl - tmp_lvl_ptr = tmp_lvl.ptr tmp_lvl_idx = tmp_lvl.idx tmp_lvl_val = tmp_lvl.lvl.val Finch.resize_if_smaller!(res_lvl_ptr, 1 + 1) Finch.fill_range!(res_lvl_ptr, 0, 1 + 1, 1 + 1) res_lvl_qos = 0 + 1 0 < 1 || throw(FinchProtocolError("SparseListLevels cannot be updated multiple times")) - tmp_lvl_q = tmp_lvl_ptr[1] - tmp_lvl_q_stop = tmp_lvl_ptr[1 + 1] - if tmp_lvl_q < tmp_lvl_q_stop - tmp_lvl_i = tmp_lvl_idx[tmp_lvl_q] - else - tmp_lvl_i = 0 - end + tmp_lvl_i = max(tmp_lvl_idx[1], 1) phase_stop = min(tmp_lvl_i, tmp_lvl.shape) if phase_stop >= 1 if phase_stop < tmp_lvl_i else - tmp_lvl_2_val = tmp_lvl_val[tmp_lvl_q] + tmp_lvl_2_val = tmp_lvl_val[1] if res_lvl_qos > 0 res_lvl_qos_stop = max(0 << 1, 1) Finch.resize_if_smaller!(res_lvl_idx, res_lvl_qos_stop) diff --git a/test/reference32/representation/convert_to_SparseBand{Element{0.0}}.jl b/test/reference32/representation/convert_to_SparseBand{Element{0.0}}.jl index e4f345ba8..03c6759ae 100644 --- a/test/reference32/representation/convert_to_SparseBand{Element{0.0}}.jl +++ b/test/reference32/representation/convert_to_SparseBand{Element{0.0}}.jl @@ -1,6 +1,5 @@ quote tmp_lvl = ((ex.bodies[1]).bodies[1]).tns.bind.lvl - tmp_lvl_ptr = tmp_lvl.ptr tmp_lvl_idx = tmp_lvl.idx tmp_lvl_ofs = tmp_lvl.ofs tmp_lvl_2 = tmp_lvl.lvl @@ -12,11 +11,11 @@ quote tmp_lvl_qos_stop = 0 Finch.resize_if_smaller!(tmp_lvl_ofs, 1) tmp_lvl_ofs[1] = 1 - Finch.resize_if_smaller!(tmp_lvl_ptr, 1 + 1) - Finch.fill_range!(tmp_lvl_ptr, 0, 1 + 1, 1 + 1) - tmp_lvl_ros = 0 + Finch.resize_if_smaller!(tmp_lvl_idx, 1) + Finch.fill_range!(tmp_lvl_idx, 1, 1, 1) + Finch.resize_if_smaller!(tmp_lvl_ofs, 1 + 1) + Finch.fill_range!(tmp_lvl_ofs, 0, 1 + 1, 1 + 1) tmp_lvl_qos = 0 + 1 - tmp_lvl_qos_set = 0 tmp_lvl_i_prev = -1 tmp_lvl_i_set = -1 0 < 1 || throw(FinchProtocolError("SparseBandLevels cannot be updated multiple times")) @@ -55,7 +54,6 @@ quote tmp_lvl_i_prev = ref_lvl_i end tmp_lvl_i_set = ref_lvl_i - tmp_lvl_qos_set = tmp_lvl_qos ref_lvl_q += 1 else phase_stop_3 = min(phase_stop, ref_lvl_i) @@ -80,7 +78,6 @@ quote tmp_lvl_i_prev = phase_stop_3 end tmp_lvl_i_set = phase_stop_3 - tmp_lvl_qos_set = tmp_lvl_qos ref_lvl_q += 1 end break @@ -88,24 +85,15 @@ quote end end if tmp_lvl_i_prev > 0 - tmp_lvl_ros = 0 + 1 - if tmp_lvl_ros > 0 - tmp_lvl_ros_stop = max(0 << 1, 1) - Finch.resize_if_smaller!(tmp_lvl_idx, tmp_lvl_ros_stop) - Finch.resize_if_smaller!(tmp_lvl_ofs, tmp_lvl_ros_stop + 1) - end - tmp_lvl_idx[tmp_lvl_ros] = tmp_lvl_i_set - tmp_lvl_ofs[tmp_lvl_ros + 1] = tmp_lvl_qos_set + 1 + tmp_lvl_idx[1] = tmp_lvl_i_set + tmp_lvl_ofs[1 + 1] = (tmp_lvl_i_set - tmp_lvl_i_prev) + 1 end - tmp_lvl_ptr[1 + 1] += tmp_lvl_ros - 0 - resize!(tmp_lvl_ptr, 1 + 1) + resize!(tmp_lvl_idx, 1) + resize!(tmp_lvl_ofs, 1 + 1) for p = 2:1 + 1 - tmp_lvl_ptr[p] += tmp_lvl_ptr[p - 1] + tmp_lvl_ofs[p] += tmp_lvl_ofs[p - 1] end - ros_stop = tmp_lvl_ptr[1 + 1] - 1 - resize!(tmp_lvl_idx, ros_stop) - resize!(tmp_lvl_ofs, ros_stop + 1) - qos_stop = tmp_lvl_ofs[ros_stop + 1] - 1 + qos_stop = tmp_lvl_ofs[1 + 1] - 1 resize!(tmp_lvl_val, qos_stop) - (tmp = Tensor((SparseBandLevel){Int32}(tmp_lvl_2, ref_lvl.shape, tmp_lvl_ptr, tmp_lvl_idx, tmp_lvl_ofs)),) + (tmp = Tensor((SparseBandLevel){Int32}(tmp_lvl_2, ref_lvl.shape, tmp_lvl_idx, tmp_lvl_ofs)),) end diff --git a/test/reference32/representation/convert_to_SparseBand{Element{false}}.jl b/test/reference32/representation/convert_to_SparseBand{Element{false}}.jl index d5e6404bf..3b2788185 100644 --- a/test/reference32/representation/convert_to_SparseBand{Element{false}}.jl +++ b/test/reference32/representation/convert_to_SparseBand{Element{false}}.jl @@ -1,6 +1,5 @@ quote tmp_lvl = ((ex.bodies[1]).bodies[1]).tns.bind.lvl - tmp_lvl_ptr = tmp_lvl.ptr tmp_lvl_idx = tmp_lvl.idx tmp_lvl_ofs = tmp_lvl.ofs tmp_lvl_2 = tmp_lvl.lvl @@ -12,11 +11,11 @@ quote tmp_lvl_qos_stop = 0 Finch.resize_if_smaller!(tmp_lvl_ofs, 1) tmp_lvl_ofs[1] = 1 - Finch.resize_if_smaller!(tmp_lvl_ptr, 1 + 1) - Finch.fill_range!(tmp_lvl_ptr, 0, 1 + 1, 1 + 1) - tmp_lvl_ros = 0 + Finch.resize_if_smaller!(tmp_lvl_idx, 1) + Finch.fill_range!(tmp_lvl_idx, 1, 1, 1) + Finch.resize_if_smaller!(tmp_lvl_ofs, 1 + 1) + Finch.fill_range!(tmp_lvl_ofs, 0, 1 + 1, 1 + 1) tmp_lvl_qos = 0 + 1 - tmp_lvl_qos_set = 0 tmp_lvl_i_prev = -1 tmp_lvl_i_set = -1 0 < 1 || throw(FinchProtocolError("SparseBandLevels cannot be updated multiple times")) @@ -55,7 +54,6 @@ quote tmp_lvl_i_prev = ref_lvl_i end tmp_lvl_i_set = ref_lvl_i - tmp_lvl_qos_set = tmp_lvl_qos ref_lvl_q += 1 else phase_stop_3 = min(phase_stop, ref_lvl_i) @@ -80,7 +78,6 @@ quote tmp_lvl_i_prev = phase_stop_3 end tmp_lvl_i_set = phase_stop_3 - tmp_lvl_qos_set = tmp_lvl_qos ref_lvl_q += 1 end break @@ -88,24 +85,15 @@ quote end end if tmp_lvl_i_prev > 0 - tmp_lvl_ros = 0 + 1 - if tmp_lvl_ros > 0 - tmp_lvl_ros_stop = max(0 << 1, 1) - Finch.resize_if_smaller!(tmp_lvl_idx, tmp_lvl_ros_stop) - Finch.resize_if_smaller!(tmp_lvl_ofs, tmp_lvl_ros_stop + 1) - end - tmp_lvl_idx[tmp_lvl_ros] = tmp_lvl_i_set - tmp_lvl_ofs[tmp_lvl_ros + 1] = tmp_lvl_qos_set + 1 + tmp_lvl_idx[1] = tmp_lvl_i_set + tmp_lvl_ofs[1 + 1] = (tmp_lvl_i_set - tmp_lvl_i_prev) + 1 end - tmp_lvl_ptr[1 + 1] += tmp_lvl_ros - 0 - resize!(tmp_lvl_ptr, 1 + 1) + resize!(tmp_lvl_idx, 1) + resize!(tmp_lvl_ofs, 1 + 1) for p = 2:1 + 1 - tmp_lvl_ptr[p] += tmp_lvl_ptr[p - 1] + tmp_lvl_ofs[p] += tmp_lvl_ofs[p - 1] end - ros_stop = tmp_lvl_ptr[1 + 1] - 1 - resize!(tmp_lvl_idx, ros_stop) - resize!(tmp_lvl_ofs, ros_stop + 1) - qos_stop = tmp_lvl_ofs[ros_stop + 1] - 1 + qos_stop = tmp_lvl_ofs[1 + 1] - 1 resize!(tmp_lvl_val, qos_stop) - (tmp = Tensor((SparseBandLevel){Int32}(tmp_lvl_2, ref_lvl.shape, tmp_lvl_ptr, tmp_lvl_idx, tmp_lvl_ofs)),) + (tmp = Tensor((SparseBandLevel){Int32}(tmp_lvl_2, ref_lvl.shape, tmp_lvl_idx, tmp_lvl_ofs)),) end diff --git a/test/reference32/representation/convert_to_SparseInterval{Element{false}}.jl b/test/reference32/representation/convert_to_SparseInterval{Element{false}}.jl index 8034c67af..9c6ccedeb 100644 --- a/test/reference32/representation/convert_to_SparseInterval{Element{false}}.jl +++ b/test/reference32/representation/convert_to_SparseInterval{Element{false}}.jl @@ -1,6 +1,5 @@ quote tmp_lvl = ((ex.bodies[1]).bodies[1]).tns.bind.lvl - tmp_lvl_ptr = tmp_lvl.ptr tmp_lvl_left = tmp_lvl.left tmp_lvl_right = tmp_lvl.right tmp_lvl_2 = tmp_lvl.lvl @@ -9,11 +8,12 @@ quote ref_lvl_ptr = ref_lvl.ptr ref_lvl_idx = ref_lvl.idx ref_lvl_val = ref_lvl.lvl.val - tmp_lvl_qos_stop = 0 - Finch.resize_if_smaller!(tmp_lvl_ptr, 1 + 1) - Finch.fill_range!(tmp_lvl_ptr, 0, 1 + 1, 1 + 1) - tmp_lvl_qos = 0 + 1 - tmp_lvl_ptr[1 + 1] == 0 || throw(FinchProtocolError("SparseIntervalLevels can only be updated once")) + Finch.resize_if_smaller!(tmp_lvl_left, 1) + Finch.resize_if_smaller!(tmp_lvl_right, 1) + Finch.fill_range!(tmp_lvl_left, 1, 1, 1) + Finch.fill_range!(tmp_lvl_right, 0, 1, 1) + Finch.resize_if_smaller!(tmp_lvl_val, 1) + Finch.fill_range!(tmp_lvl_val, false, 1, 1) ref_lvl_q = ref_lvl_ptr[1] ref_lvl_q_stop = ref_lvl_ptr[1 + 1] if ref_lvl_q < ref_lvl_q_stop @@ -30,49 +30,27 @@ quote ref_lvl_i = ref_lvl_idx[ref_lvl_q] if ref_lvl_i < phase_stop ref_lvl_2_val = ref_lvl_val[ref_lvl_q] - if tmp_lvl_qos > tmp_lvl_qos_stop - tmp_lvl_qos_stop = max(tmp_lvl_qos_stop << 1, 1) - Finch.resize_if_smaller!(tmp_lvl_left, tmp_lvl_qos_stop) - Finch.resize_if_smaller!(tmp_lvl_right, tmp_lvl_qos_stop) - Finch.resize_if_smaller!(tmp_lvl_val, tmp_lvl_qos_stop) - Finch.fill_range!(tmp_lvl_val, false, tmp_lvl_qos, tmp_lvl_qos_stop) - end - tmp_lvl_val[tmp_lvl_qos] = ref_lvl_2_val - tmp_lvl_qos == 0 + 1 || throw(FinchProtocolError("SparseIntervalLevels can only be updated once")) - tmp_lvl_left[tmp_lvl_qos] = ref_lvl_i - tmp_lvl_right[tmp_lvl_qos] = ref_lvl_i - tmp_lvl_qos += 1 + tmp_lvl_val[1] = ref_lvl_2_val + tmp_lvl_left[1] < tmp_lvl_right[1] && throw(FinchProtocolError("SparseIntervalLevels can only be updated once")) + tmp_lvl_left[1] = ref_lvl_i + tmp_lvl_right[1] = ref_lvl_i ref_lvl_q += 1 else phase_stop_3 = min(phase_stop, ref_lvl_i) if ref_lvl_i == phase_stop_3 ref_lvl_2_val = ref_lvl_val[ref_lvl_q] - if tmp_lvl_qos > tmp_lvl_qos_stop - tmp_lvl_qos_stop = max(tmp_lvl_qos_stop << 1, 1) - Finch.resize_if_smaller!(tmp_lvl_left, tmp_lvl_qos_stop) - Finch.resize_if_smaller!(tmp_lvl_right, tmp_lvl_qos_stop) - Finch.resize_if_smaller!(tmp_lvl_val, tmp_lvl_qos_stop) - Finch.fill_range!(tmp_lvl_val, false, tmp_lvl_qos, tmp_lvl_qos_stop) - end - tmp_lvl_val[tmp_lvl_qos] = ref_lvl_2_val - tmp_lvl_qos == 0 + 1 || throw(FinchProtocolError("SparseIntervalLevels can only be updated once")) - tmp_lvl_left[tmp_lvl_qos] = phase_stop_3 - tmp_lvl_right[tmp_lvl_qos] = phase_stop_3 - tmp_lvl_qos += 1 + tmp_lvl_val[1] = ref_lvl_2_val + tmp_lvl_left[1] < tmp_lvl_right[1] && throw(FinchProtocolError("SparseIntervalLevels can only be updated once")) + tmp_lvl_left[1] = phase_stop_3 + tmp_lvl_right[1] = phase_stop_3 ref_lvl_q += 1 end break end end end - tmp_lvl_ptr[1 + 1] = (tmp_lvl_qos - 0) - 1 - resize!(tmp_lvl_ptr, 1 + 1) - for p = 1:1 - tmp_lvl_ptr[p + 1] += tmp_lvl_ptr[p] - end - qos_stop = tmp_lvl_ptr[1 + 1] - 1 - resize!(tmp_lvl_left, qos_stop) - resize!(tmp_lvl_right, qos_stop) - resize!(tmp_lvl_val, qos_stop) - (tmp = Tensor((SparseIntervalLevel){Int32}(tmp_lvl_2, ref_lvl.shape, tmp_lvl.ptr, tmp_lvl.left, tmp_lvl.right)),) + resize!(tmp_lvl_left, 1) + resize!(tmp_lvl_right, 1) + resize!(tmp_lvl_val, 1) + (tmp = Tensor((SparseIntervalLevel){Int32}(tmp_lvl_2, ref_lvl.shape, tmp_lvl.left, tmp_lvl.right)),) end diff --git a/test/reference32/representation/convert_to_SparsePoint{Element{false}}.jl b/test/reference32/representation/convert_to_SparsePoint{Element{false}}.jl index 3282015c6..b51d6030e 100644 --- a/test/reference32/representation/convert_to_SparsePoint{Element{false}}.jl +++ b/test/reference32/representation/convert_to_SparsePoint{Element{false}}.jl @@ -1,6 +1,5 @@ quote tmp_lvl = ((ex.bodies[1]).bodies[1]).tns.bind.lvl - tmp_lvl_ptr = tmp_lvl.ptr tmp_lvl_idx = tmp_lvl.idx tmp_lvl_2 = tmp_lvl.lvl tmp_lvl_val = tmp_lvl.lvl.val @@ -8,12 +7,10 @@ quote ref_lvl_ptr = ref_lvl.ptr ref_lvl_idx = ref_lvl.idx ref_lvl_val = ref_lvl.lvl.val - tmp_lvl_qos_stop = 0 - Finch.resize_if_smaller!(tmp_lvl_ptr, 1 + 1) - Finch.fill_range!(tmp_lvl_ptr, 0, 1 + 1, 1 + 1) - tmp_lvl_qos = 0 + 1 - tmp_lvl_ptr[1 + 1] == 0 || throw(FinchProtocolError("SparsePointLevels can only be updated once")) - 0 < 1 || throw(FinchProtocolError("SparsePointLevels cannot be updated multiple times")) + Finch.resize_if_smaller!(tmp_lvl_idx, 1) + Finch.fill_range!(tmp_lvl_idx, 0, 1, 1) + Finch.resize_if_smaller!(tmp_lvl_val, 1) + Finch.fill_range!(tmp_lvl_val, false, 1, 1) ref_lvl_q = ref_lvl_ptr[1] ref_lvl_q_stop = ref_lvl_ptr[1 + 1] if ref_lvl_q < ref_lvl_q_stop @@ -30,44 +27,24 @@ quote ref_lvl_i = ref_lvl_idx[ref_lvl_q] if ref_lvl_i < phase_stop ref_lvl_2_val = ref_lvl_val[ref_lvl_q] - if tmp_lvl_qos > tmp_lvl_qos_stop - tmp_lvl_qos_stop = max(tmp_lvl_qos_stop << 1, 1) - Finch.resize_if_smaller!(tmp_lvl_idx, tmp_lvl_qos_stop) - Finch.resize_if_smaller!(tmp_lvl_val, tmp_lvl_qos_stop) - Finch.fill_range!(tmp_lvl_val, false, tmp_lvl_qos, tmp_lvl_qos_stop) - end - tmp_lvl_val[tmp_lvl_qos] = ref_lvl_2_val - tmp_lvl_qos == 0 + 1 || throw(FinchProtocolError("SparsePointLevels can only be updated once")) - tmp_lvl_idx[tmp_lvl_qos] = ref_lvl_i - tmp_lvl_qos += 1 + tmp_lvl_val[1] = ref_lvl_2_val + @assert tmp_lvl_idx[1] == 0 || tmp_lvl_idx[1] == ref_lvl_i + tmp_lvl_idx[1] = ref_lvl_i ref_lvl_q += 1 else phase_stop_3 = min(phase_stop, ref_lvl_i) if ref_lvl_i == phase_stop_3 ref_lvl_2_val = ref_lvl_val[ref_lvl_q] - if tmp_lvl_qos > tmp_lvl_qos_stop - tmp_lvl_qos_stop = max(tmp_lvl_qos_stop << 1, 1) - Finch.resize_if_smaller!(tmp_lvl_idx, tmp_lvl_qos_stop) - Finch.resize_if_smaller!(tmp_lvl_val, tmp_lvl_qos_stop) - Finch.fill_range!(tmp_lvl_val, false, tmp_lvl_qos, tmp_lvl_qos_stop) - end - tmp_lvl_val[tmp_lvl_qos] = ref_lvl_2_val - tmp_lvl_qos == 0 + 1 || throw(FinchProtocolError("SparsePointLevels can only be updated once")) - tmp_lvl_idx[tmp_lvl_qos] = phase_stop_3 - tmp_lvl_qos += 1 + tmp_lvl_val[1] = ref_lvl_2_val + @assert tmp_lvl_idx[1] == 0 || tmp_lvl_idx[1] == phase_stop_3 + tmp_lvl_idx[1] = phase_stop_3 ref_lvl_q += 1 end break end end end - tmp_lvl_ptr[1 + 1] += (tmp_lvl_qos - 0) - 1 - resize!(tmp_lvl_ptr, 1 + 1) - for p = 1:1 - tmp_lvl_ptr[p + 1] += tmp_lvl_ptr[p] - end - qos_stop = tmp_lvl_ptr[1 + 1] - 1 - resize!(tmp_lvl_idx, qos_stop) - resize!(tmp_lvl_val, qos_stop) - (tmp = Tensor((SparsePointLevel){Int32}(tmp_lvl_2, ref_lvl.shape, tmp_lvl_ptr, tmp_lvl_idx)),) + resize!(tmp_lvl_idx, 1) + resize!(tmp_lvl_val, 1) + (tmp = Tensor((SparsePointLevel){Int32}(tmp_lvl_2, ref_lvl.shape, tmp_lvl_idx)),) end