just realized there are no lists, only arrays :(

This commit is contained in:
Maxime Vorwerk
2023-08-25 16:18:57 +02:00
parent 82afad9d57
commit b9ccf5254e
4 changed files with 42 additions and 37 deletions

View File

@@ -1,6 +1,6 @@
include("ImmutableOrientedShape.jl")
function main(i::Int8) function main(i::Int64)
S = Stack{Int}(); D = Dict{ImmutableOrientedShape}()
S = Stack{Int64}();
end end
main(Int8(4))

View File

@@ -1,8 +1,18 @@
struct ImmutableOrientedShape struct ImmutableOrientedShape
cubes::List{Tuple{Int8, Int8, Int8}} cubes::Vector{Tuple{Int8, Int8, Int8}}
hash::UInt hash::UInt
end end
Base.hash(S::ImmutableOrientedShape) = S.hash Base.hash(S::ImmutableOrientedShape) = S.hash
Base.hash(S::ImmutableOrientedShape, h::UInt) = S.hash h Base.hash(S::ImmutableOrientedShape, h::UInt) = S.hash h
function Base.==(X::ImmutableOrientedShape, Y::ImmutableOrientedShape)
if hash != hash
return false
elseif X.cubes == Y.cubes
return false
else
return true
end
end

View File

@@ -1,4 +1,3 @@
module Powerset module Powerset
global _calculatedPowerSets = Matrix{Int64}(undef, 1, 0) global _calculatedPowerSets = Matrix{Int64}(undef, 1, 0)

View File

@@ -3,7 +3,7 @@ include("SortingModifiers.jl")
struct Shape struct Shape
cubes::Set{Tuple{Int8, Int8, Int8}} cubes::Set{Tuple{Int8, Int8, Int8}}
recentCubes::Set{Tuple{Int8, Int8, Int8}} recentCubes::Set{Tuple{Int8, Int8, Int8}}
orderedLists::Array{List{Tuple{Int8, Int8, Int8}}} orderedLists::Vector{Vector{Tuple{Int8, Int8, Int8}}}
end end
function trypush!(S::Shape, t::Tuple{Int8, Int8, Int8}) function trypush!(S::Shape, t::Tuple{Int8, Int8, Int8})
@@ -21,36 +21,32 @@ end
function getCube() function getCube()
return Shape( return Shape(
{ {(0, 0, 0)},
(0, 0, 0) {(0, 0, 0)},
},
{
(0, 0, 0)
},
[ [
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0), [(0, 0, 0)],
(0, 0, 0) [(0, 0, 0)],
]) ])
end end