mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-07-18 12:28:17 +08:00
Merge c2cabcfeeb into 1d1099bea0
This commit is contained in:
commit
896bb363c1
@ -16,7 +16,7 @@ def random_divisor(value: int, min_value: int, /, max_options: int = 1) -> int:
|
||||
ns = [value // i for i in divisors[:max_options]] # has at least 1 element
|
||||
|
||||
if len(ns) - 1 > 0:
|
||||
idx = randint(low=0, high=len(ns) - 1, size=(1,)).item()
|
||||
idx = randint(low=0, high=len(ns), size=(1,)).item()
|
||||
else:
|
||||
idx = 0
|
||||
|
||||
|
||||
22
tests-unit/comfy_extras_test/nodes_hypertile_test.py
Normal file
22
tests-unit/comfy_extras_test/nodes_hypertile_test.py
Normal file
@ -0,0 +1,22 @@
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
import torch
|
||||
|
||||
mock_nodes = MagicMock()
|
||||
mock_nodes.MAX_RESOLUTION = 16384
|
||||
mock_server = MagicMock()
|
||||
|
||||
with patch.dict("sys.modules", {"nodes": mock_nodes, "server": mock_server}):
|
||||
from comfy_extras.nodes_hypertile import random_divisor
|
||||
|
||||
|
||||
class TestRandomDivisor:
|
||||
def test_all_options_are_reachable(self):
|
||||
# value=8, min=2, max_options=2 -> candidate tile counts {4, 2}; both must be
|
||||
# selectable. torch.randint's high is exclusive, so the last option was unreachable.
|
||||
torch.manual_seed(0)
|
||||
results = {random_divisor(8, 2, 2) for _ in range(200)}
|
||||
assert results == {2, 4}
|
||||
|
||||
def test_single_option_is_deterministic(self):
|
||||
assert random_divisor(8, 8, 1) == 1
|
||||
Loading…
Reference in New Issue
Block a user