Add DIMS_3 support and fix dim_diff for prime 11
This commit is contained in:
parent
7dd7f23611
commit
bb7a9ccb21
|
|
@ -3,3 +3,4 @@ DIMS_8 = (2, 3, 5, 7, 11, 13, 17, 19)
|
||||||
DIMS_7 = (2, 3, 5, 7, 11, 13, 17)
|
DIMS_7 = (2, 3, 5, 7, 11, 13, 17)
|
||||||
DIMS_5 = (2, 3, 5, 7, 11)
|
DIMS_5 = (2, 3, 5, 7, 11)
|
||||||
DIMS_4 = (2, 3, 5, 7)
|
DIMS_4 = (2, 3, 5, 7)
|
||||||
|
DIMS_3 = (2, 3, 5)
|
||||||
|
|
|
||||||
11
src/io.py
11
src/io.py
|
|
@ -325,7 +325,7 @@ def save_graph_to_cache(
|
||||||
def main():
|
def main():
|
||||||
"""Demo: Generate compact sets and build graph."""
|
"""Demo: Generate compact sets and build graph."""
|
||||||
import argparse
|
import argparse
|
||||||
from .dims import DIMS_4, DIMS_5, DIMS_7, DIMS_8
|
from .dims import DIMS_3, DIMS_4, DIMS_5, DIMS_7, DIMS_8
|
||||||
from .harmonic_space import HarmonicSpace
|
from .harmonic_space import HarmonicSpace
|
||||||
from .pathfinder import PathFinder
|
from .pathfinder import PathFinder
|
||||||
|
|
||||||
|
|
@ -414,7 +414,10 @@ def main():
|
||||||
help="Make symdiff selection uniform across range (ignore weight differences)",
|
help="Make symdiff selection uniform across range (ignore weight differences)",
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--dims", type=int, default=7, help="Number of prime dimensions (4, 5, 7, or 8)"
|
"--dims",
|
||||||
|
type=int,
|
||||||
|
default=7,
|
||||||
|
help="Number of prime dimensions (3, 4, 5, 7, or 8)",
|
||||||
)
|
)
|
||||||
parser.add_argument("--chord-size", type=int, default=3, help="Size of chords")
|
parser.add_argument("--chord-size", type=int, default=3, help="Size of chords")
|
||||||
parser.add_argument("--max-path", type=int, default=50, help="Maximum path length")
|
parser.add_argument("--max-path", type=int, default=50, help="Maximum path length")
|
||||||
|
|
@ -530,7 +533,9 @@ def main():
|
||||||
return # Exit after OSC playback
|
return # Exit after OSC playback
|
||||||
|
|
||||||
# Select dims
|
# Select dims
|
||||||
if args.dims == 4:
|
if args.dims == 3:
|
||||||
|
dims = DIMS_3
|
||||||
|
elif args.dims == 4:
|
||||||
dims = DIMS_4
|
dims = DIMS_4
|
||||||
elif args.dims == 5:
|
elif args.dims == 5:
|
||||||
dims = DIMS_5
|
dims = DIMS_5
|
||||||
|
|
|
||||||
|
|
@ -347,8 +347,8 @@ def _is_adjacent(hs1: tuple, hs2: tuple) -> bool:
|
||||||
|
|
||||||
def _compute_dim_diff(current: tuple, prev: tuple) -> int:
|
def _compute_dim_diff(current: tuple, prev: tuple) -> int:
|
||||||
"""Compute dim_diff between two hs_arrays. Returns prime * direction."""
|
"""Compute dim_diff between two hs_arrays. Returns prime * direction."""
|
||||||
primes = [3, 5, 7]
|
primes = [3, 5, 7, 11]
|
||||||
for i in range(1, 4):
|
for i in range(1, 5):
|
||||||
diff = current[i] - prev[i]
|
diff = current[i] - prev[i]
|
||||||
if diff == 1:
|
if diff == 1:
|
||||||
return primes[i - 1]
|
return primes[i - 1]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue