From a4b9abfc6162c2a34f7ebc5ba45675af7965ef91 Mon Sep 17 00:00:00 2001 From: mcDandy Date: Mon, 19 Jan 2026 16:59:30 +0100 Subject: [PATCH] forgot to add SIGMAS to readme and pyproject --- README.md | 5 ++-- pyproject.toml | 2 +- test_log.txt | Bin 16184 -> 0 bytes test_log_vars.txt | 59 ---------------------------------------------- 4 files changed, 3 insertions(+), 63 deletions(-) delete mode 100644 test_log.txt delete mode 100644 test_log_vars.txt diff --git a/README.md b/README.md index 1b04dce..a29141b 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,7 @@ You can also get the node from comfy manager under the name of More math. - functions and variables in math expressions - Conversion between INT and FLOAT; AUDIO and IMAGE (red - real - strenght of cosine of frequency; blue - imaginary - strenght of sine of frequency; green - log1p of amplitude - just so it looks good to humans) -- Nodes for FLOAT, CONDITIONING, LATENT, IMAGE, MASK, NOISE, AUDIO, VIDEO, MODEL, CLIP and VAE - +- Nodes for FLOAT, CONDITIONING, LATENT, IMAGE, MASK, NOISE, AUDIO, VIDEO, MODEL, CLIP, VAE and SIGMAS - Vector Math: Support for List literals `[v1, v2, ...]` and operations between lists/scalars/tensors ## Operators @@ -36,7 +35,7 @@ You can also get the node from comfy manager under the name of More math. - In imageMath node you can use 3 element list to specify a color of image. You cannot use any imput tensor, doing so will result in behaviour in subpoint 1 in list - **Length Mismatch Handling**: All math nodes (except Model, Clip, Vae which default to broadcast) include a `length_mismatch` option to handle inputs with different batch sizes, sample counts, or list lengths. The target length is determined by the **maximum length** among all provided inputs (`a`, `b`, `c`, `d`). - `tile` (Default): Repeats shorter inputs to match the maximum length. - - `error`: Raises a `ValueError` if any input lengths differ. This helps identify unintentional mismatches that should be handled explicitly. + - `error`: Raises a `ValueError` if any input lengths differ. - `pad`: Shorter inputs are padded with zeros to match the maximum length. ## Functions diff --git a/pyproject.toml b/pyproject.toml index 97bde0d..5b26743 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ authors = [ readme = "README.md" license = {text = "GNU General Public License v3"} classifiers = [] -description = "Adds math nodes for FLOAT, CONDITIONING, LATENT, IMAGE, MASK, NOISE, AUDIO, VIDEO, MODEL, CLIP and VAE types and allows usage of math expressions with large number of functions and variables, not limited to inputs. List of those is on github of this extension." +description = "Adds math nodes for FLOAT, CONDITIONING, LATENT, IMAGE, MASK, NOISE, AUDIO, VIDEO, MODEL, CLIP, VAE and SIGMAS types and allows usage of math expressions with large number of functions and variables, not limited to inputs. List of those is on github of this extension." dependencies = [ ] diff --git a/test_log.txt b/test_log.txt deleted file mode 100644 index 587d490a85153fd9a5d5df6c9db20d7523ddcd93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16184 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 assert torch.allclose(result[0], torch.tensor(130.0)) -E assert False -E + where False = (tensor([[[69., 69., 69.],\n [69., 69., 69.],\n [69., 69., 69.],\n ...,\n [69., 69., 69.],\n [69., 69., 69.],\n [69., 69., 69.]],\n\n [[69., 69., 69.],\n [69., 69., 69.],\n [69., 69., 69.],\n ...,\n [69., 69., 69.],\n [69., 69., 69.],\n [69., 69., 69.]],\n\n [[69., 69., 69.],\n [69., 69., 69.],\n [69., 69., 69.],\n ...,\n [69., 69., 69.],\n [69., 69., 69.],\n [69., 69., 69.]],\n\n ...,\n\n [[69., 69., 69.],\n [69., 69., 69.],\n [69., 69., 69.],\n ...,\n [69., 69., 69.],\n [69., 69., 69.],\n [69., 69., 69.]],\n\n [[69., 69., 69.],\n [69., 69., 69.],\n [69., 69., 69.],\n ...,\n [69., 69., 69.],\n [69., 69., 69.],\n [69., 69., 69.]],\n\n [[69., 69., 69.],\n [69., 69., 69.],\n [69., 69., 69.],\n ...,\n [69., 69., 69.],\n [69., 69., 69.],\n [69., 69., 69.]]]), tensor(130.)) -E + where = torch.allclose -E + and tensor(130.) = (130.0) -E + where = torch.tensor - -tests\test_multi_node_mismatch.py:69: AssertionError -______________________ test_audio_passthrough_variables _______________________ - - def test_audio_passthrough_variables(): - a = torch.ones((1, 2, 100)) # 100 samples - b = torch.ones((1, 2, 50)) * 0.5 # 50 samples - - # Test sample_count (T) and sample_rate (R) - # head_av.shape[2] is 50. - # result[0,0,:50] = 1 + 50 + 44100 = 44151 -> result_dict, = AudioMathNode.execute("a + sample_count + sample_rate", {"waveform": a, "sample_rate": 44100}, b={"waveform": b, "sample_rate": 44100}, length_mismatch="passthrough") - ^^^^^^^^^^^^^ -E NameError: name 'AudioMathNode' is not defined - -tests\test_multi_node_mismatch.py:80: NameError -=========================== short test summary info =========================== -FAILED tests/test_multi_node_mismatch.py::test_image_passthrough_variables - ... -FAILED tests/test_multi_node_mismatch.py::test_audio_passthrough_variables - ... -========================= 2 failed, 6 passed in 0.12s =========================