From b040d7d3bd6f864f9f210b4e12fee983386d5dcc Mon Sep 17 00:00:00 2001 From: Maxime Vorwerk Date: Mon, 25 Sep 2023 03:58:48 +0200 Subject: [PATCH] removed superfluous file --- julia/Powerset.jl | 53 ----------------------------------------------- 1 file changed, 53 deletions(-) delete mode 100644 julia/Powerset.jl diff --git a/julia/Powerset.jl b/julia/Powerset.jl deleted file mode 100644 index 202067f..0000000 --- a/julia/Powerset.jl +++ /dev/null @@ -1,53 +0,0 @@ -module Powerset - -global _calculatedPowerSets = Matrix{Int64}(undef, 1, 0) -global _grownUntil = 0 - -function getPowerSet(setSize::Integer) - global _calculatedPowerSets - global _grownUntil - wantedPowerSetSize = 2^setSize - if setSize <= _grownUntil - return _calculatedPowerSets[1:wantedPowerSetSize, 1:setSize] - else - currentPowerSetSize = 2^_grownUntil - newPowerSets = zeros(Int64, wantedPowerSetSize, setSize) - indices = CartesianIndices(_calculatedPowerSets) - copyto!(newPowerSets, indices, _calculatedPowerSets, indices) - for i ∈ (_grownUntil+1):setSize - indicesTarget = CartesianIndices((2^(i-1)+1:2^i, 1:(i-1))) - indicesSource = CartesianIndices((1:2^(i-1), 1:(i-1))) - copyto!(newPowerSets, indicesTarget, newPowerSets, indicesSource) - for j ∈ 1:currentPowerSetSize - newPowerSets[currentPowerSetSize + j, i] = 1; - end - currentPowerSetSize *= 2 - end - _calculatedPowerSets = newPowerSets - _grownUntil = setSize - return _calculatedPowerSets - end -end - -function getPowerSubSet(setSize::Integer, subSetSize::Integer) - PowerSet = getPowerSet(setSize) - setSizes = dropdims(sum(PowerSet, dims = 2), dims = 2) - powerSubSetSize = binomial(setSize, subSetSize) - powerSubSets = Matrix{Int64}(undef, powerSubSetSize, subSetSize) - j = 1 - for i ∈ axes(PowerSet, 1) - if setSizes[i] == subSetSize - l = 1 - for k ∈ axes(PowerSet, 2) - if PowerSet[i, k] == 1 - powerSubSets[j, l] = k - l += 1 - end - end - j += 1 - end - end - return powerSubSets -end - -end