aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2010-01-19 16:45:29 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2010-01-19 16:45:29 +0000
commit4ab31246e7e315418f6cbaeab89749d9918875b9 (patch)
tree0e718ead6a9cb1818b52af8bbb388052932bcd86
parente4aa93e3280d71b42c47e7fccb5b657efdffb455 (diff)
tests for more sigobjects
svn path=/trunk/externals/zexy/; revision=13048
-rw-r--r--tests/absgn~/abs.pd4
-rw-r--r--tests/absgn~/sgn.pd6
-rw-r--r--tests/abs~/simple.pd4
-rw-r--r--tests/and~/dualnoise.pd151
-rw-r--r--tests/and~/singlenoise.pd150
-rw-r--r--tests/eq~/dualnoise.pd200
-rw-r--r--tests/eq~/singlenoise.pd181
-rw-r--r--tests/gt~/dualnoise.pd153
-rw-r--r--tests/gt~/singlenoise.pd152
-rw-r--r--tests/lt~/dualnoise.pd153
-rw-r--r--tests/lt~/singlenoise.pd152
-rw-r--r--tests/or~/dualnoise.pd158
-rw-r--r--tests/or~/singlenoise.pd158
-rw-r--r--tests/runtests.txt13
-rw-r--r--tests/runtests_nogui.pd48
-rw-r--r--tests/testunit.pd24
16 files changed, 1675 insertions, 32 deletions
diff --git a/tests/absgn~/abs.pd b/tests/absgn~/abs.pd
index c5fce20..56087fd 100644
--- a/tests/absgn~/abs.pd
+++ b/tests/absgn~/abs.pd
@@ -121,6 +121,7 @@ cannot instantiate;
#X obj 91 162 del 10;
#X obj 158 274 absgn~;
#X obj 187 303 abs;
+#X obj 91 254 del 10;
#X connect 0 0 2 0;
#X connect 2 0 12 0;
#X connect 2 1 10 0;
@@ -131,8 +132,9 @@ cannot instantiate;
#X connect 7 1 9 0;
#X connect 9 1 14 0;
#X connect 10 0 8 0;
-#X connect 11 0 7 0;
+#X connect 11 0 15 0;
#X connect 11 1 4 0;
#X connect 12 0 11 0;
#X connect 13 0 6 1;
#X connect 14 0 7 1;
+#X connect 15 0 7 0;
diff --git a/tests/absgn~/sgn.pd b/tests/absgn~/sgn.pd
index be50888..3e052c1 100644
--- a/tests/absgn~/sgn.pd
+++ b/tests/absgn~/sgn.pd
@@ -126,6 +126,7 @@ cannot instantiate;
#X msg 314 359 -1;
#X obj 314 381 t f;
#X msg 360 358 1;
+#X obj 91 254 del 10;
#X connect 0 0 2 0;
#X connect 2 0 11 0;
#X connect 2 1 9 0;
@@ -135,10 +136,10 @@ cannot instantiate;
#X connect 7 0 6 0;
#X connect 7 1 13 0;
#X connect 9 0 8 0;
-#X connect 10 0 7 0;
+#X connect 10 0 20 0;
#X connect 10 1 4 0;
#X connect 11 0 10 0;
-#X connect 12 0 6 1;
+#X connect 12 1 6 1;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 14 1 16 0;
@@ -148,3 +149,4 @@ cannot instantiate;
#X connect 17 0 18 0;
#X connect 18 0 7 1;
#X connect 19 0 18 0;
+#X connect 20 0 7 0;
diff --git a/tests/abs~/simple.pd b/tests/abs~/simple.pd
index dc6e587..8e023b4 100644
--- a/tests/abs~/simple.pd
+++ b/tests/abs~/simple.pd
@@ -121,6 +121,7 @@ cannot instantiate;
#X obj 158 274 abs~;
#X obj 91 202 t b b;
#X obj 91 162 del 10;
+#X obj 91 254 del 10;
#X connect 0 0 2 0;
#X connect 2 0 14 0;
#X connect 2 1 11 0;
@@ -133,6 +134,7 @@ cannot instantiate;
#X connect 10 1 8 0;
#X connect 11 0 9 0;
#X connect 12 0 6 1;
-#X connect 13 0 7 0;
+#X connect 13 0 15 0;
#X connect 13 1 4 0;
#X connect 14 0 13 0;
+#X connect 15 0 7 0;
diff --git a/tests/and~/dualnoise.pd b/tests/and~/dualnoise.pd
new file mode 100644
index 0000000..4d0bb1d
--- /dev/null
+++ b/tests/and~/dualnoise.pd
@@ -0,0 +1,151 @@
+#N canvas 217 0 977 584 10;
+#X obj 91 117 inlet bang;
+#X text 37 51 may people think that it is a bad idea to not create
+[repeat] if there is no argument. so this test fails when the object
+cannot instantiate;
+#N canvas 238 169 450 300 input 0;
+#X obj 119 243 outlet~;
+#N canvas 0 0 450 300 send 0;
+#X obj 82 48 inlet~;
+#X obj 96 255 outlet~;
+#X obj 258 255 outlet~;
+#X obj 96 227 tabreceive~ \$0-input1;
+#X obj 258 227 tabreceive~ \$0-input2;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X restore 119 218 pd send;
+#N canvas 0 0 450 300 generate~ 0;
+#X obj 120 111 noise~;
+#X obj 112 182 outlet~;
+#X obj 120 133 tabsend~ \$0-input1;
+#X obj 259 112 noise~;
+#X obj 259 134 tabsend~ \$0-input2;
+#X connect 0 0 2 0;
+#X connect 3 0 4 0;
+#X restore 119 194 pd generate~;
+#X obj 117 145 table \$0-input1 64;
+#X obj 257 145 table \$0-input2 64;
+#X obj 178 243 outlet~;
+#X connect 1 0 0 0;
+#X connect 1 1 5 0;
+#X connect 2 0 1 0;
+#X restore 158 243 pd input;
+#N canvas 0 0 631 415 compare 0;
+#X obj 261 65 inlet~ processed;
+#X obj 262 94 tabsend~ \$0-output;
+#X obj 417 92 table \$0-output 64;
+#X obj 51 378 outlet passed;
+#X obj 52 169 i;
+#X obj 83 169 + 1;
+#X obj 52 103 t b b;
+#X msg 52 124 64;
+#X msg 84 123 0;
+#X obj 52 197 t f f;
+#X obj 52 229 tabread \$0-output;
+#X obj 182 229 tabread \$0-reference;
+#X obj 51 309 f;
+#X obj 52 257 -;
+#X obj 52 278 select 0;
+#X obj 29 44 inlet doit;
+#X obj 29 71 t b b b;
+#X msg 127 275 0;
+#X obj 51 336 == 0;
+#X obj 52 144 until;
+#X connect 0 0 1 0;
+#X connect 4 0 5 0;
+#X connect 4 0 9 0;
+#X connect 5 0 4 1;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 19 0;
+#X connect 8 0 4 1;
+#X connect 9 0 10 0;
+#X connect 9 1 11 0;
+#X connect 10 0 13 0;
+#X connect 11 0 13 1;
+#X connect 12 0 18 0;
+#X connect 13 0 14 0;
+#X connect 14 1 12 1;
+#X connect 15 0 16 0;
+#X connect 16 0 12 0;
+#X connect 16 1 6 0;
+#X connect 16 2 17 0;
+#X connect 17 0 12 1;
+#X connect 18 0 3 0;
+#X connect 19 0 4 0;
+#X restore 91 367 pd compare;
+#N canvas 1456 193 714 565 reference 0;
+#X obj 519 101 table \$0-reference 64;
+#X obj 49 38 inlet doit;
+#X obj 237 371 outlet in~;
+#X obj 49 376 outlet done;
+#X obj 240 86 inlet out~;
+#X obj 69 92 t b b;
+#X msg 69 112 64;
+#X msg 101 112 0;
+#X obj 69 274 f;
+#X obj 69 252 t b f b;
+#X obj 69 300 pack 0 0;
+#X obj 69 326 tabwrite \$0-reference;
+#X obj 49 61 t b b;
+#X obj 129 274 / 100;
+#X obj 129 252 random 100;
+#X msg 99 59 bang;
+#X obj 69 136 until;
+#X obj 69 162 i;
+#X obj 99 162 + 1;
+#X obj 69 186 t f f;
+#X obj 69 208 t f f;
+#X obj 69 229 tabread \$0-input1;
+#X obj 199 229 tabread \$0-input2;
+#X obj 237 348 pack;
+#X connect 1 0 12 0;
+#X connect 4 0 8 1;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 16 0;
+#X connect 7 0 17 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 1 23 0;
+#X connect 9 2 14 0;
+#X connect 10 0 11 0;
+#X connect 12 0 3 0;
+#X connect 12 1 5 0;
+#X connect 13 0 8 1;
+#X connect 14 0 13 0;
+#X connect 15 0 5 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 1;
+#X connect 19 0 20 0;
+#X connect 19 1 10 1;
+#X connect 20 0 21 0;
+#X connect 20 1 22 0;
+#X connect 21 0 9 0;
+#X connect 22 0 23 1;
+#X connect 23 0 2 0;
+#X restore 91 303 pd reference;
+#X obj 91 396 outlet result;
+#X msg 210 390 -1;
+#X obj 250 303 unpack;
+#X obj 158 274 &&~;
+#X obj 250 326 &&;
+#X obj 134 162 s \$0-init;
+#X obj 91 162 bang~;
+#X obj 91 138 t b b b;
+#X connect 0 0 12 0;
+#X connect 2 0 8 0;
+#X connect 2 1 8 1;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 4 1 7 0;
+#X connect 6 0 5 0;
+#X connect 7 0 9 0;
+#X connect 7 1 9 1;
+#X connect 8 0 3 1;
+#X connect 9 0 4 1;
+#X connect 11 0 4 0;
+#X connect 12 1 10 0;
+#X connect 12 2 6 0;
diff --git a/tests/and~/singlenoise.pd b/tests/and~/singlenoise.pd
new file mode 100644
index 0000000..aa9ac65
--- /dev/null
+++ b/tests/and~/singlenoise.pd
@@ -0,0 +1,150 @@
+#N canvas 217 0 977 584 10;
+#X obj 91 117 inlet bang;
+#X text 37 51 may people think that it is a bad idea to not create
+[repeat] if there is no argument. so this test fails when the object
+cannot instantiate;
+#N canvas 238 169 450 300 input 0;
+#X obj 119 243 outlet~;
+#N canvas 0 0 450 300 send 0;
+#X obj 82 48 inlet~;
+#X obj 96 255 outlet~;
+#X obj 258 255 outlet~;
+#X obj 96 227 tabreceive~ \$0-input1;
+#X obj 258 227 tabreceive~ \$0-input2;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X restore 119 218 pd send;
+#N canvas 0 0 450 300 generate~ 0;
+#X obj 120 111 noise~;
+#X obj 112 182 outlet~;
+#X obj 120 133 tabsend~ \$0-input1;
+#X obj 259 134 tabsend~ \$0-input2;
+#X connect 0 0 2 0;
+#X connect 0 0 3 0;
+#X restore 119 194 pd generate~;
+#X obj 117 145 table \$0-input1 64;
+#X obj 257 145 table \$0-input2 64;
+#X obj 178 243 outlet~;
+#X connect 1 0 0 0;
+#X connect 1 1 5 0;
+#X connect 2 0 1 0;
+#X restore 158 243 pd input;
+#N canvas 0 0 631 415 compare 0;
+#X obj 261 65 inlet~ processed;
+#X obj 262 94 tabsend~ \$0-output;
+#X obj 417 92 table \$0-output 64;
+#X obj 51 378 outlet passed;
+#X obj 52 169 i;
+#X obj 83 169 + 1;
+#X obj 52 103 t b b;
+#X msg 52 124 64;
+#X msg 84 123 0;
+#X obj 52 197 t f f;
+#X obj 52 229 tabread \$0-output;
+#X obj 182 229 tabread \$0-reference;
+#X obj 51 309 f;
+#X obj 52 257 -;
+#X obj 52 278 select 0;
+#X obj 29 44 inlet doit;
+#X obj 29 71 t b b b;
+#X msg 127 275 0;
+#X obj 51 336 == 0;
+#X obj 52 144 until;
+#X connect 0 0 1 0;
+#X connect 4 0 5 0;
+#X connect 4 0 9 0;
+#X connect 5 0 4 1;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 19 0;
+#X connect 8 0 4 1;
+#X connect 9 0 10 0;
+#X connect 9 1 11 0;
+#X connect 10 0 13 0;
+#X connect 11 0 13 1;
+#X connect 12 0 18 0;
+#X connect 13 0 14 0;
+#X connect 14 1 12 1;
+#X connect 15 0 16 0;
+#X connect 16 0 12 0;
+#X connect 16 1 6 0;
+#X connect 16 2 17 0;
+#X connect 17 0 12 1;
+#X connect 18 0 3 0;
+#X connect 19 0 4 0;
+#X restore 91 367 pd compare;
+#N canvas 1456 193 714 565 reference 0;
+#X obj 519 101 table \$0-reference 64;
+#X obj 49 38 inlet doit;
+#X obj 237 371 outlet in~;
+#X obj 49 376 outlet done;
+#X obj 240 86 inlet out~;
+#X obj 69 92 t b b;
+#X msg 69 112 64;
+#X msg 101 112 0;
+#X obj 69 274 f;
+#X obj 69 252 t b f b;
+#X obj 69 300 pack 0 0;
+#X obj 69 326 tabwrite \$0-reference;
+#X obj 49 61 t b b;
+#X obj 129 274 / 100;
+#X obj 129 252 random 100;
+#X msg 99 59 bang;
+#X obj 69 136 until;
+#X obj 69 162 i;
+#X obj 99 162 + 1;
+#X obj 69 186 t f f;
+#X obj 69 208 t f f;
+#X obj 69 229 tabread \$0-input1;
+#X obj 199 229 tabread \$0-input2;
+#X obj 237 348 pack;
+#X connect 1 0 12 0;
+#X connect 4 0 8 1;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 16 0;
+#X connect 7 0 17 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 1 23 0;
+#X connect 9 2 14 0;
+#X connect 10 0 11 0;
+#X connect 12 0 3 0;
+#X connect 12 1 5 0;
+#X connect 13 0 8 1;
+#X connect 14 0 13 0;
+#X connect 15 0 5 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 1;
+#X connect 19 0 20 0;
+#X connect 19 1 10 1;
+#X connect 20 0 21 0;
+#X connect 20 1 22 0;
+#X connect 21 0 9 0;
+#X connect 22 0 23 1;
+#X connect 23 0 2 0;
+#X restore 91 303 pd reference;
+#X obj 91 396 outlet result;
+#X msg 210 390 -1;
+#X obj 250 303 unpack;
+#X obj 158 274 &&~;
+#X obj 250 326 &&;
+#X obj 134 162 s \$0-init;
+#X obj 91 162 bang~;
+#X obj 91 138 t b b b;
+#X connect 0 0 12 0;
+#X connect 2 0 8 0;
+#X connect 2 1 8 1;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 4 1 7 0;
+#X connect 6 0 5 0;
+#X connect 7 0 9 0;
+#X connect 7 1 9 1;
+#X connect 8 0 3 1;
+#X connect 9 0 4 1;
+#X connect 11 0 4 0;
+#X connect 12 1 10 0;
+#X connect 12 2 6 0;
diff --git a/tests/eq~/dualnoise.pd b/tests/eq~/dualnoise.pd
new file mode 100644
index 0000000..418972e
--- /dev/null
+++ b/tests/eq~/dualnoise.pd
@@ -0,0 +1,200 @@
+#N canvas 217 0 977 584 10;
+#X obj 91 117 inlet bang;
+#X text 37 51 may people think that it is a bad idea to not create
+[repeat] if there is no argument. so this test fails when the object
+cannot instantiate;
+#N canvas 238 169 688 300 input 0;
+#X obj 119 243 outlet~;
+#N canvas 0 0 450 300 send 0;
+#X obj 82 48 inlet~;
+#X obj 96 255 outlet~;
+#X obj 258 255 outlet~;
+#X obj 96 227 tabreceive~ \$0-input1;
+#X obj 258 227 tabreceive~ \$0-input2;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X restore 119 218 pd send;
+#N canvas 0 0 450 300 generate~ 0;
+#X obj 120 111 noise~;
+#X obj 112 182 outlet~;
+#X obj 120 133 tabsend~ \$0-input1;
+#X obj 259 134 tabsend~ \$0-input2;
+#X connect 0 0 2 0;
+#X connect 0 0 3 0;
+#X restore 119 194 pd generate~;
+#X obj 117 145 table \$0-input1 64;
+#X obj 257 145 table \$0-input2 64;
+#X obj 178 243 outlet~;
+#X obj 447 128 r \$0-init;
+#X obj 447 150 t b b;
+#X obj 447 172 random 100;
+#X obj 447 194 / 100;
+#X msg 447 216 const \$1;
+#X obj 447 238 s \$0-input1;
+#X obj 538 172 random 100;
+#X obj 538 194 / 100;
+#X msg 538 216 const \$1;
+#X obj 537 238 s \$0-input2;
+#X connect 1 0 0 0;
+#X connect 1 1 5 0;
+#X connect 2 0 1 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 12 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X restore 158 243 pd input;
+#N canvas 0 0 1020 415 compare 0;
+#X obj 261 65 inlet~ processed;
+#X obj 262 94 tabsend~ \$0-output;
+#X obj 417 92 table \$0-output 64;
+#X obj 51 398 outlet passed;
+#X obj 52 169 i;
+#X obj 83 169 + 1;
+#X obj 52 103 t b b;
+#X msg 52 124 64;
+#X msg 84 123 0;
+#X obj 52 229 tabread \$0-output;
+#X obj 182 229 tabread \$0-reference;
+#X obj 51 329 f;
+#X obj 52 257 -;
+#X obj 52 278 select 0;
+#X obj 29 44 inlet doit;
+#X obj 29 71 t b b b;
+#X msg 127 275 0;
+#X obj 51 356 == 0;
+#X obj 52 144 until;
+#X obj 108 301 t f f;
+#X obj 52 197 t f f f;
+#X obj 342 321 print diff;
+#X obj 342 293 pack 0 0 0;
+#X obj 447 128 r \$0-init;
+#X obj 447 172 random 100;
+#X obj 447 194 / 100;
+#X msg 447 216 const \$1;
+#X obj 447 238 s \$0-result;
+#X obj 447 150 t b;
+#X connect 0 0 1 0;
+#X connect 4 0 5 0;
+#X connect 4 0 20 0;
+#X connect 5 0 4 1;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 18 0;
+#X connect 8 0 4 1;
+#X connect 9 0 12 0;
+#X connect 9 0 22 0;
+#X connect 10 0 12 1;
+#X connect 10 0 22 1;
+#X connect 11 0 17 0;
+#X connect 12 0 13 0;
+#X connect 13 1 19 0;
+#X connect 14 0 15 0;
+#X connect 15 0 11 0;
+#X connect 15 1 6 0;
+#X connect 15 2 16 0;
+#X connect 16 0 11 1;
+#X connect 17 0 3 0;
+#X connect 18 0 4 0;
+#X connect 19 0 11 1;
+#X connect 20 0 9 0;
+#X connect 20 1 10 0;
+#X connect 20 2 22 2;
+#X connect 23 0 28 0;
+#X connect 24 0 25 0;
+#X connect 25 0 26 0;
+#X connect 26 0 27 0;
+#X connect 28 0 24 0;
+#X restore 91 367 pd compare;
+#N canvas 1456 193 714 565 reference 0;
+#X obj 519 101 table \$0-reference 64;
+#X obj 49 38 inlet doit;
+#X obj 237 371 outlet in~;
+#X obj 49 376 outlet done;
+#X obj 240 86 inlet out~;
+#X obj 69 92 t b b;
+#X msg 69 112 64;
+#X msg 101 112 0;
+#X obj 69 274 f;
+#X obj 69 252 t b f b;
+#X obj 69 300 pack 0 0;
+#X obj 69 326 tabwrite \$0-reference;
+#X obj 49 61 t b b;
+#X obj 128 273 / 100;
+#X obj 128 251 random 100;
+#X msg 99 59 bang;
+#X obj 69 136 until;
+#X obj 69 162 i;
+#X obj 99 162 + 1;
+#X obj 69 186 t f f;
+#X obj 69 208 t f f;
+#X obj 69 229 tabread \$0-input1;
+#X obj 199 229 tabread \$0-input2;
+#X obj 237 348 pack;
+#X obj 447 128 r \$0-init;
+#X obj 447 150 t b b;
+#X obj 447 172 random 100;
+#X obj 447 194 / 100;
+#X msg 447 216 const \$1;
+#X obj 447 238 s \$0-reference;
+#X connect 1 0 12 0;
+#X connect 4 0 8 1;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 16 0;
+#X connect 7 0 17 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 1 23 0;
+#X connect 9 2 14 0;
+#X connect 10 0 11 0;
+#X connect 12 0 3 0;
+#X connect 12 1 5 0;
+#X connect 13 0 8 1;
+#X connect 14 0 13 0;
+#X connect 15 0 5 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 1;
+#X connect 19 0 20 0;
+#X connect 19 1 10 1;
+#X connect 20 0 21 0;
+#X connect 20 1 22 0;
+#X connect 21 0 9 0;
+#X connect 22 0 23 1;
+#X connect 23 0 2 0;
+#X connect 24 0 25 0;
+#X connect 25 0 26 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 29 0;
+#X restore 91 303 pd reference;
+#X obj 91 396 outlet result;
+#X msg 180 367 -1;
+#X obj 250 303 unpack;
+#X obj 250 326 ==;
+#X obj 158 274 ==~;
+#X obj 134 162 s \$0-init;
+#X obj 91 162 bang~;
+#X obj 91 138 t b b b;
+#X msg 148 138 bang;
+#X connect 0 0 12 0;
+#X connect 2 0 9 0;
+#X connect 2 1 9 1;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 4 1 7 0;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 7 1 8 1;
+#X connect 8 0 4 1;
+#X connect 9 0 3 1;
+#X connect 11 0 4 0;
+#X connect 12 1 10 0;
+#X connect 12 2 6 0;
+#X connect 13 0 12 0;
diff --git a/tests/eq~/singlenoise.pd b/tests/eq~/singlenoise.pd
new file mode 100644
index 0000000..1a71297
--- /dev/null
+++ b/tests/eq~/singlenoise.pd
@@ -0,0 +1,181 @@
+#N canvas 217 0 977 584 10;
+#X obj 91 117 inlet bang;
+#X text 37 51 may people think that it is a bad idea to not create
+[repeat] if there is no argument. so this test fails when the object
+cannot instantiate;
+#N canvas 0 0 1020 415 compare 0;
+#X obj 261 65 inlet~ processed;
+#X obj 262 94 tabsend~ \$0-output;
+#X obj 417 92 table \$0-output 64;
+#X obj 51 398 outlet passed;
+#X obj 52 169 i;
+#X obj 83 169 + 1;
+#X obj 52 103 t b b;
+#X msg 52 124 64;
+#X msg 84 123 0;
+#X obj 52 229 tabread \$0-output;
+#X obj 182 229 tabread \$0-reference;
+#X obj 51 329 f;
+#X obj 52 257 -;
+#X obj 52 278 select 0;
+#X obj 29 44 inlet doit;
+#X obj 29 71 t b b b;
+#X msg 127 275 0;
+#X obj 51 356 == 0;
+#X obj 52 144 until;
+#X obj 108 301 t f f;
+#X obj 52 197 t f f f;
+#X obj 342 321 print diff;
+#X obj 342 293 pack 0 0 0;
+#X obj 447 128 r \$0-init;
+#X obj 447 172 random 100;
+#X obj 447 194 / 100;
+#X msg 447 216 const \$1;
+#X obj 447 238 s \$0-result;
+#X obj 447 150 t b;
+#X connect 0 0 1 0;
+#X connect 4 0 5 0;
+#X connect 4 0 20 0;
+#X connect 5 0 4 1;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 18 0;
+#X connect 8 0 4 1;
+#X connect 9 0 12 0;
+#X connect 9 0 22 0;
+#X connect 10 0 12 1;
+#X connect 10 0 22 1;
+#X connect 11 0 17 0;
+#X connect 12 0 13 0;
+#X connect 13 1 19 0;
+#X connect 14 0 15 0;
+#X connect 15 0 11 0;
+#X connect 15 1 6 0;
+#X connect 15 2 16 0;
+#X connect 16 0 11 1;
+#X connect 17 0 3 0;
+#X connect 18 0 4 0;
+#X connect 19 0 11 1;
+#X connect 20 0 9 0;
+#X connect 20 1 10 0;
+#X connect 20 2 22 2;
+#X connect 23 0 28 0;
+#X connect 24 0 25 0;
+#X connect 25 0 26 0;
+#X connect 26 0 27 0;
+#X connect 28 0 24 0;
+#X restore 91 367 pd compare;
+#N canvas 1456 193 714 565 reference 0;
+#X obj 519 101 table \$0-reference 64;
+#X obj 49 38 inlet doit;
+#X obj 237 371 outlet in~;
+#X obj 49 376 outlet done;
+#X obj 240 86 inlet out~;
+#X obj 69 92 t b b;
+#X msg 69 112 64;
+#X msg 101 112 0;
+#X obj 69 274 f;
+#X obj 69 252 t b f b;
+#X obj 69 300 pack 0 0;
+#X obj 69 326 tabwrite \$0-reference;
+#X obj 49 61 t b b;
+#X obj 128 273 / 100;
+#X obj 128 251 random 100;
+#X msg 99 59 bang;
+#X obj 69 136 until;
+#X obj 69 162 i;
+#X obj 99 162 + 1;
+#X obj 69 186 t f f;
+#X obj 69 208 t f f;
+#X obj 69 229 tabread \$0-input1;
+#X obj 199 229 tabread \$0-input2;
+#X obj 237 348 pack;
+#X obj 447 128 r \$0-init;
+#X obj 447 150 t b b;
+#X obj 447 172 random 100;
+#X obj 447 194 / 100;
+#X msg 447 216 const \$1;
+#X obj 447 238 s \$0-reference;
+#X connect 1 0 12 0;
+#X connect 4 0 8 1;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 16 0;
+#X connect 7 0 17 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 1 23 0;
+#X connect 9 2 14 0;
+#X connect 10 0 11 0;
+#X connect 12 0 3 0;
+#X connect 12 1 5 0;
+#X connect 13 0 8 1;
+#X connect 14 0 13 0;
+#X connect 15 0 5 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 1;
+#X connect 19 0 20 0;
+#X connect 19 1 10 1;
+#X connect 20 0 21 0;
+#X connect 20 1 22 0;
+#X connect 21 0 9 0;
+#X connect 22 0 23 1;
+#X connect 23 0 2 0;
+#X connect 24 0 25 0;
+#X connect 25 0 26 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 29 0;
+#X restore 91 303 pd reference;
+#X obj 91 396 outlet result;
+#X msg 180 367 -1;
+#X obj 250 303 unpack;
+#X obj 250 326 ==;
+#X obj 158 274 ==~;
+#X obj 134 162 s \$0-init;
+#X obj 91 162 bang~;
+#X obj 91 138 t b b b;
+#X msg 148 138 bang;
+#N canvas 238 169 450 300 input1 0;
+#X obj 119 243 outlet~;
+#N canvas 0 0 450 300 send 0;
+#X obj 82 48 inlet~;
+#X obj 96 255 outlet~;
+#X obj 258 255 outlet~;
+#X obj 96 227 tabreceive~ \$0-input1;
+#X obj 258 227 tabreceive~ \$0-input2;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X restore 119 218 pd send;
+#N canvas 0 0 450 300 generate~ 0;
+#X obj 120 111 noise~;
+#X obj 112 182 outlet~;
+#X obj 120 133 tabsend~ \$0-input1;
+#X obj 259 134 tabsend~ \$0-input2;
+#X connect 0 0 2 0;
+#X connect 0 0 3 0;
+#X restore 119 194 pd generate~;
+#X obj 117 145 table \$0-input1 64;
+#X obj 257 145 table \$0-input2 64;
+#X obj 178 243 outlet~;
+#X connect 1 0 0 0;
+#X connect 1 1 5 0;
+#X connect 2 0 1 0;
+#X restore 158 243 pd input1;
+#X connect 0 0 11 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 3 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 3 1;
+#X connect 8 0 2 1;
+#X connect 10 0 3 0;
+#X connect 11 1 9 0;
+#X connect 11 2 5 0;
+#X connect 12 0 11 0;
+#X connect 13 0 8 0;
+#X connect 13 1 8 1;
diff --git a/tests/gt~/dualnoise.pd b/tests/gt~/dualnoise.pd
new file mode 100644
index 0000000..965b337
--- /dev/null
+++ b/tests/gt~/dualnoise.pd
@@ -0,0 +1,153 @@
+#N canvas 217 0 977 584 10;
+#X obj 91 117 inlet bang;
+#X text 37 51 may people think that it is a bad idea to not create
+[repeat] if there is no argument. so this test fails when the object
+cannot instantiate;
+#N canvas 238 169 450 300 input 0;
+#X obj 119 243 outlet~;
+#N canvas 0 0 450 300 send 0;
+#X obj 82 48 inlet~;
+#X obj 96 255 outlet~;
+#X obj 258 255 outlet~;
+#X obj 96 227 tabreceive~ \$0-input1;
+#X obj 258 227 tabreceive~ \$0-input2;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X restore 119 218 pd send;
+#N canvas 0 0 450 300 generate~ 0;
+#X obj 120 111 noise~;
+#X obj 112 182 outlet~;
+#X obj 120 133 tabsend~ \$0-input1;
+#X obj 259 112 noise~;
+#X obj 259 134 tabsend~ \$0-input2;
+#X connect 0 0 2 0;
+#X connect 3 0 4 0;
+#X restore 119 194 pd generate~;
+#X obj 117 145 table \$0-input1 64;
+#X obj 257 145 table \$0-input2 64;
+#X obj 178 243 outlet~;
+#X connect 1 0 0 0;
+#X connect 1 1 5 0;
+#X connect 2 0 1 0;
+#X restore 158 243 pd input;
+#N canvas 0 0 631 415 compare 0;
+#X obj 261 65 inlet~ processed;
+#X obj 262 94 tabsend~ \$0-output;
+#X obj 417 92 table \$0-output 64;
+#X obj 51 378 outlet passed;
+#X obj 52 169 i;
+#X obj 83 169 + 1;
+#X obj 52 103 t b b;
+#X msg 52 124 64;
+#X msg 84 123 0;
+#X obj 52 197 t f f;
+#X obj 52 229 tabread \$0-output;
+#X obj 182 229 tabread \$0-reference;
+#X obj 51 309 f;
+#X obj 52 257 -;
+#X obj 52 278 select 0;
+#X obj 29 44 inlet doit;
+#X obj 29 71 t b b b;
+#X msg 127 275 0;
+#X obj 51 336 == 0;
+#X obj 52 144 until;
+#X connect 0 0 1 0;
+#X connect 4 0 5 0;
+#X connect 4 0 9 0;
+#X connect 5 0 4 1;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 19 0;
+#X connect 8 0 4 1;
+#X connect 9 0 10 0;
+#X connect 9 1 11 0;
+#X connect 10 0 13 0;
+#X connect 11 0 13 1;
+#X connect 12 0 18 0;
+#X connect 13 0 14 0;
+#X connect 14 1 12 1;
+#X connect 15 0 16 0;
+#X connect 16 0 12 0;
+#X connect 16 1 6 0;
+#X connect 16 2 17 0;
+#X connect 17 0 12 1;
+#X connect 18 0 3 0;
+#X connect 19 0 4 0;
+#X restore 91 367 pd compare;
+#N canvas 1456 193 714 565 reference 0;
+#X obj 519 101 table \$0-reference 64;
+#X obj 49 38 inlet doit;
+#X obj 237 371 outlet in~;
+#X obj 49 376 outlet done;
+#X obj 240 86 inlet out~;
+#X obj 69 92 t b b;
+#X msg 69 112 64;
+#X msg 101 112 0;
+#X obj 69 274 f;
+#X obj 69 252 t b f b;
+#X obj 69 300 pack 0 0;
+#X obj 69 326 tabwrite \$0-reference;
+#X obj 49 61 t b b;
+#X obj 129 274 / 100;
+#X obj 129 252 random 100;
+#X msg 99 59 bang;
+#X obj 69 136 until;
+#X obj 69 162 i;
+#X obj 99 162 + 1;
+#X obj 69 186 t f f;
+#X obj 69 208 t f f;
+#X obj 69 229 tabread \$0-input1;
+#X obj 199 229 tabread \$0-input2;
+#X obj 237 348 pack;
+#X connect 1 0 12 0;
+#X connect 4 0 8 1;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 16 0;
+#X connect 7 0 17 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 1 23 0;
+#X connect 9 2 14 0;
+#X connect 10 0 11 0;
+#X connect 12 0 3 0;
+#X connect 12 1 5 0;
+#X connect 13 0 8 1;
+#X connect 14 0 13 0;
+#X connect 15 0 5 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 1;
+#X connect 19 0 20 0;
+#X connect 19 1 10 1;
+#X connect 20 0 21 0;
+#X connect 20 1 22 0;
+#X connect 21 0 9 0;
+#X connect 22 0 23 1;
+#X connect 23 0 2 0;
+#X restore 91 303 pd reference;
+#X obj 91 396 outlet result;
+#X msg 210 390 -1;
+#X obj 158 274 >~;
+#X obj 250 326 >;
+#X obj 250 303 unpack;
+#X obj 134 162 s \$0-init;
+#X obj 91 162 bang~;
+#X obj 91 138 t b b b;
+#X msg 158 138 bang;
+#X connect 0 0 12 0;
+#X connect 2 0 7 0;
+#X connect 2 1 7 1;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 4 1 9 0;
+#X connect 6 0 5 0;
+#X connect 7 0 3 1;
+#X connect 8 0 4 1;
+#X connect 9 0 8 0;
+#X connect 9 1 8 1;
+#X connect 11 0 4 0;
+#X connect 12 1 10 0;
+#X connect 12 2 6 0;
+#X connect 13 0 12 0;
diff --git a/tests/gt~/singlenoise.pd b/tests/gt~/singlenoise.pd
new file mode 100644
index 0000000..31066cf
--- /dev/null
+++ b/tests/gt~/singlenoise.pd
@@ -0,0 +1,152 @@
+#N canvas 217 0 977 584 10;
+#X obj 91 117 inlet bang;
+#X text 37 51 may people think that it is a bad idea to not create
+[repeat] if there is no argument. so this test fails when the object
+cannot instantiate;
+#N canvas 0 0 631 415 compare 0;
+#X obj 261 65 inlet~ processed;
+#X obj 262 94 tabsend~ \$0-output;
+#X obj 417 92 table \$0-output 64;
+#X obj 51 378 outlet passed;
+#X obj 52 169 i;
+#X obj 83 169 + 1;
+#X obj 52 103 t b b;
+#X msg 52 124 64;
+#X msg 84 123 0;
+#X obj 52 197 t f f;
+#X obj 52 229 tabread \$0-output;
+#X obj 182 229 tabread \$0-reference;
+#X obj 51 309 f;
+#X obj 52 257 -;
+#X obj 52 278 select 0;
+#X obj 29 44 inlet doit;
+#X obj 29 71 t b b b;
+#X msg 127 275 0;
+#X obj 51 336 == 0;
+#X obj 52 144 until;
+#X connect 0 0 1 0;
+#X connect 4 0 5 0;
+#X connect 4 0 9 0;
+#X connect 5 0 4 1;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 19 0;
+#X connect 8 0 4 1;
+#X connect 9 0 10 0;
+#X connect 9 1 11 0;
+#X connect 10 0 13 0;
+#X connect 11 0 13 1;
+#X connect 12 0 18 0;
+#X connect 13 0 14 0;
+#X connect 14 1 12 1;
+#X connect 15 0 16 0;
+#X connect 16 0 12 0;
+#X connect 16 1 6 0;
+#X connect 16 2 17 0;
+#X connect 17 0 12 1;
+#X connect 18 0 3 0;
+#X connect 19 0 4 0;
+#X restore 91 367 pd compare;
+#N canvas 1456 193 714 565 reference 0;
+#X obj 519 101 table \$0-reference 64;
+#X obj 49 38 inlet doit;
+#X obj 237 371 outlet in~;
+#X obj 49 376 outlet done;
+#X obj 240 86 inlet out~;
+#X obj 69 92 t b b;
+#X msg 69 112 64;
+#X msg 101 112 0;
+#X obj 69 274 f;
+#X obj 69 252 t b f b;
+#X obj 69 300 pack 0 0;
+#X obj 69 326 tabwrite \$0-reference;
+#X obj 49 61 t b b;
+#X obj 129 274 / 100;
+#X obj 129 252 random 100;
+#X msg 99 59 bang;
+#X obj 69 136 until;
+#X obj 69 162 i;
+#X obj 99 162 + 1;
+#X obj 69 186 t f f;
+#X obj 69 208 t f f;
+#X obj 69 229 tabread \$0-input1;
+#X obj 199 229 tabread \$0-input2;
+#X obj 237 348 pack;
+#X connect 1 0 12 0;
+#X connect 4 0 8 1;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 16 0;
+#X connect 7 0 17 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 1 23 0;
+#X connect 9 2 14 0;
+#X connect 10 0 11 0;
+#X connect 12 0 3 0;
+#X connect 12 1 5 0;
+#X connect 13 0 8 1;
+#X connect 14 0 13 0;
+#X connect 15 0 5 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 1;
+#X connect 19 0 20 0;
+#X connect 19 1 10 1;
+#X connect 20 0 21 0;
+#X connect 20 1 22 0;
+#X connect 21 0 9 0;
+#X connect 22 0 23 1;
+#X connect 23 0 2 0;
+#X restore 91 303 pd reference;
+#X obj 91 396 outlet result;
+#X msg 210 390 -1;
+#X obj 158 274 >~;
+#X obj 250 326 >;
+#X obj 250 303 unpack;
+#X obj 134 162 s \$0-init;
+#X obj 91 162 bang~;
+#X obj 91 138 t b b b;
+#X msg 158 138 bang;
+#N canvas 238 169 450 300 input1 0;
+#X obj 119 243 outlet~;
+#N canvas 0 0 450 300 send 0;
+#X obj 82 48 inlet~;
+#X obj 96 255 outlet~;
+#X obj 258 255 outlet~;
+#X obj 96 227 tabreceive~ \$0-input1;
+#X obj 258 227 tabreceive~ \$0-input2;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X restore 119 218 pd send;
+#N canvas 0 0 450 300 generate~ 0;
+#X obj 120 111 noise~;
+#X obj 112 182 outlet~;
+#X obj 120 133 tabsend~ \$0-input1;
+#X obj 259 134 tabsend~ \$0-input2;
+#X connect 0 0 2 0;
+#X connect 0 0 3 0;
+#X restore 119 194 pd generate~;
+#X obj 117 145 table \$0-input1 64;
+#X obj 257 145 table \$0-input2 64;
+#X obj 178 243 outlet~;
+#X connect 1 0 0 0;
+#X connect 1 1 5 0;
+#X connect 2 0 1 0;
+#X restore 158 253 pd input1;
+#X connect 0 0 11 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 3 1 8 0;
+#X connect 5 0 4 0;
+#X connect 6 0 2 1;
+#X connect 7 0 3 1;
+#X connect 8 0 7 0;
+#X connect 8 1 7 1;
+#X connect 10 0 3 0;
+#X connect 11 1 9 0;
+#X connect 11 2 5 0;
+#X connect 12 0 11 0;
+#X connect 13 0 6 0;
+#X connect 13 1 6 1;
diff --git a/tests/lt~/dualnoise.pd b/tests/lt~/dualnoise.pd
new file mode 100644
index 0000000..39586bb
--- /dev/null
+++ b/tests/lt~/dualnoise.pd
@@ -0,0 +1,153 @@
+#N canvas 217 0 977 584 10;
+#X obj 91 117 inlet bang;
+#X text 37 51 may people think that it is a bad idea to not create
+[repeat] if there is no argument. so this test fails when the object
+cannot instantiate;
+#N canvas 238 169 450 300 input 0;
+#X obj 119 243 outlet~;
+#N canvas 0 0 450 300 send 0;
+#X obj 82 48 inlet~;
+#X obj 96 255 outlet~;
+#X obj 258 255 outlet~;
+#X obj 96 227 tabreceive~ \$0-input1;
+#X obj 258 227 tabreceive~ \$0-input2;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X restore 119 218 pd send;
+#N canvas 0 0 450 300 generate~ 0;
+#X obj 120 111 noise~;
+#X obj 112 182 outlet~;
+#X obj 120 133 tabsend~ \$0-input1;
+#X obj 259 112 noise~;
+#X obj 259 134 tabsend~ \$0-input2;
+#X connect 0 0 2 0;
+#X connect 3 0 4 0;
+#X restore 119 194 pd generate~;
+#X obj 117 145 table \$0-input1 64;
+#X obj 257 145 table \$0-input2 64;
+#X obj 178 243 outlet~;
+#X connect 1 0 0 0;
+#X connect 1 1 5 0;
+#X connect 2 0 1 0;
+#X restore 158 243 pd input;
+#N canvas 0 0 631 415 compare 0;
+#X obj 261 65 inlet~ processed;
+#X obj 262 94 tabsend~ \$0-output;
+#X obj 417 92 table \$0-output 64;
+#X obj 51 378 outlet passed;
+#X obj 52 169 i;
+#X obj 83 169 + 1;
+#X obj 52 103 t b b;
+#X msg 52 124 64;
+#X msg 84 123 0;
+#X obj 52 197 t f f;
+#X obj 52 229 tabread \$0-output;
+#X obj 182 229 tabread \$0-reference;
+#X obj 51 309 f;
+#X obj 52 257 -;
+#X obj 52 278 select 0;
+#X obj 29 44 inlet doit;
+#X obj 29 71 t b b b;
+#X msg 127 275 0;
+#X obj 51 336 == 0;
+#X obj 52 144 until;
+#X connect 0 0 1 0;
+#X connect 4 0 5 0;
+#X connect 4 0 9 0;
+#X connect 5 0 4 1;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 19 0;
+#X connect 8 0 4 1;
+#X connect 9 0 10 0;
+#X connect 9 1 11 0;
+#X connect 10 0 13 0;
+#X connect 11 0 13 1;
+#X connect 12 0 18 0;
+#X connect 13 0 14 0;
+#X connect 14 1 12 1;
+#X connect 15 0 16 0;
+#X connect 16 0 12 0;
+#X connect 16 1 6 0;
+#X connect 16 2 17 0;
+#X connect 17 0 12 1;
+#X connect 18 0 3 0;
+#X connect 19 0 4 0;
+#X restore 91 367 pd compare;
+#N canvas 1456 193 714 565 reference 0;
+#X obj 519 101 table \$0-reference 64;
+#X obj 49 38 inlet doit;
+#X obj 237 371 outlet in~;
+#X obj 49 376 outlet done;
+#X obj 240 86 inlet out~;
+#X obj 69 92 t b b;
+#X msg 69 112 64;
+#X msg 101 112 0;
+#X obj 69 274 f;
+#X obj 69 252 t b f b;
+#X obj 69 300 pack 0 0;
+#X obj 69 326 tabwrite \$0-reference;
+#X obj 49 61 t b b;
+#X obj 129 274 / 100;
+#X obj 129 252 random 100;
+#X msg 99 59 bang;
+#X obj 69 136 until;
+#X obj 69 162 i;
+#X obj 99 162 + 1;
+#X obj 69 186 t f f;
+#X obj 69 208 t f f;
+#X obj 69 229 tabread \$0-input1;
+#X obj 199 229 tabread \$0-input2;
+#X obj 237 348 pack;
+#X connect 1 0 12 0;
+#X connect 4 0 8 1;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 16 0;
+#X connect 7 0 17 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 1 23 0;
+#X connect 9 2 14 0;
+#X connect 10 0 11 0;
+#X connect 12 0 3 0;
+#X connect 12 1 5 0;
+#X connect 13 0 8 1;
+#X connect 14 0 13 0;
+#X connect 15 0 5 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 1;
+#X connect 19 0 20 0;
+#X connect 19 1 10 1;
+#X connect 20 0 21 0;
+#X connect 20 1 22 0;
+#X connect 21 0 9 0;
+#X connect 22 0 23 1;
+#X connect 23 0 2 0;
+#X restore 91 303 pd reference;
+#X obj 91 396 outlet result;
+#X msg 210 390 -1;
+#X obj 250 303 unpack;
+#X obj 158 274 <~;
+#X obj 250 326 <;
+#X obj 134 162 s \$0-init;
+#X obj 91 162 bang~;
+#X obj 91 138 t b b b;
+#X msg 158 138 bang;
+#X connect 0 0 12 0;
+#X connect 2 0 8 0;
+#X connect 2 1 8 1;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 4 1 7 0;
+#X connect 6 0 5 0;
+#X connect 7 0 9 0;
+#X connect 7 1 9 1;
+#X connect 8 0 3 1;
+#X connect 9 0 4 1;
+#X connect 11 0 4 0;
+#X connect 12 1 10 0;
+#X connect 12 2 6 0;
+#X connect 13 0 12 0;
diff --git a/tests/lt~/singlenoise.pd b/tests/lt~/singlenoise.pd
new file mode 100644
index 0000000..e74dab4
--- /dev/null
+++ b/tests/lt~/singlenoise.pd
@@ -0,0 +1,152 @@
+#N canvas 217 0 977 584 10;
+#X obj 91 117 inlet bang;
+#X text 37 51 may people think that it is a bad idea to not create
+[repeat] if there is no argument. so this test fails when the object
+cannot instantiate;
+#N canvas 0 0 631 415 compare 0;
+#X obj 261 65 inlet~ processed;
+#X obj 262 94 tabsend~ \$0-output;
+#X obj 417 92 table \$0-output 64;
+#X obj 51 378 outlet passed;
+#X obj 52 169 i;
+#X obj 83 169 + 1;
+#X obj 52 103 t b b;
+#X msg 52 124 64;
+#X msg 84 123 0;
+#X obj 52 197 t f f;
+#X obj 52 229 tabread \$0-output;
+#X obj 182 229 tabread \$0-reference;
+#X obj 51 309 f;
+#X obj 52 257 -;
+#X obj 52 278 select 0;
+#X obj 29 44 inlet doit;
+#X obj 29 71 t b b b;
+#X msg 127 275 0;
+#X obj 51 336 == 0;
+#X obj 52 144 until;
+#X connect 0 0 1 0;
+#X connect 4 0 5 0;
+#X connect 4 0 9 0;
+#X connect 5 0 4 1;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 19 0;
+#X connect 8 0 4 1;
+#X connect 9 0 10 0;
+#X connect 9 1 11 0;
+#X connect 10 0 13 0;
+#X connect 11 0 13 1;
+#X connect 12 0 18 0;
+#X connect 13 0 14 0;
+#X connect 14 1 12 1;
+#X connect 15 0 16 0;
+#X connect 16 0 12 0;
+#X connect 16 1 6 0;
+#X connect 16 2 17 0;
+#X connect 17 0 12 1;
+#X connect 18 0 3 0;
+#X connect 19 0 4 0;
+#X restore 91 367 pd compare;
+#N canvas 1456 193 714 565 reference 0;
+#X obj 519 101 table \$0-reference 64;
+#X obj 49 38 inlet doit;
+#X obj 237 371 outlet in~;
+#X obj 49 376 outlet done;
+#X obj 240 86 inlet out~;
+#X obj 69 92 t b b;
+#X msg 69 112 64;
+#X msg 101 112 0;
+#X obj 69 274 f;
+#X obj 69 252 t b f b;
+#X obj 69 300 pack 0 0;
+#X obj 69 326 tabwrite \$0-reference;
+#X obj 49 61 t b b;
+#X obj 129 274 / 100;
+#X obj 129 252 random 100;
+#X msg 99 59 bang;
+#X obj 69 136 until;
+#X obj 69 162 i;
+#X obj 99 162 + 1;
+#X obj 69 186 t f f;
+#X obj 69 208 t f f;
+#X obj 69 229 tabread \$0-input1;
+#X obj 199 229 tabread \$0-input2;
+#X obj 237 348 pack;
+#X connect 1 0 12 0;
+#X connect 4 0 8 1;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 16 0;
+#X connect 7 0 17 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 1 23 0;
+#X connect 9 2 14 0;
+#X connect 10 0 11 0;
+#X connect 12 0 3 0;
+#X connect 12 1 5 0;
+#X connect 13 0 8 1;
+#X connect 14 0 13 0;
+#X connect 15 0 5 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 1;
+#X connect 19 0 20 0;
+#X connect 19 1 10 1;
+#X connect 20 0 21 0;
+#X connect 20 1 22 0;
+#X connect 21 0 9 0;
+#X connect 22 0 23 1;
+#X connect 23 0 2 0;
+#X restore 91 303 pd reference;
+#X obj 91 396 outlet result;
+#X msg 210 390 -1;
+#X obj 250 303 unpack;
+#X obj 158 274 <~;
+#X obj 250 326 <;
+#X obj 134 162 s \$0-init;
+#X obj 91 162 bang~;
+#X obj 91 138 t b b b;
+#X msg 158 138 bang;
+#N canvas 238 169 450 300 input1 0;
+#X obj 119 243 outlet~;
+#N canvas 0 0 450 300 send 0;
+#X obj 82 48 inlet~;
+#X obj 96 255 outlet~;
+#X obj 258 255 outlet~;
+#X obj 96 227 tabreceive~ \$0-input1;
+#X obj 258 227 tabreceive~ \$0-input2;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X restore 119 218 pd send;
+#N canvas 0 0 450 300 generate~ 0;
+#X obj 120 111 noise~;
+#X obj 112 182 outlet~;
+#X obj 120 133 tabsend~ \$0-input1;
+#X obj 259 134 tabsend~ \$0-input2;
+#X connect 0 0 2 0;
+#X connect 0 0 3 0;
+#X restore 119 194 pd generate~;
+#X obj 117 145 table \$0-input1 64;
+#X obj 257 145 table \$0-input2 64;
+#X obj 178 243 outlet~;
+#X connect 1 0 0 0;
+#X connect 1 1 5 0;
+#X connect 2 0 1 0;
+#X restore 158 243 pd input1;
+#X connect 0 0 11 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 3 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 0;
+#X connect 6 1 8 1;
+#X connect 7 0 2 1;
+#X connect 8 0 3 1;
+#X connect 10 0 3 0;
+#X connect 11 1 9 0;
+#X connect 11 2 5 0;
+#X connect 12 0 11 0;
+#X connect 13 0 7 0;
+#X connect 13 1 7 1;
diff --git a/tests/or~/dualnoise.pd b/tests/or~/dualnoise.pd
new file mode 100644
index 0000000..cfce7d8
--- /dev/null
+++ b/tests/or~/dualnoise.pd
@@ -0,0 +1,158 @@
+#N canvas 527 170 977 584 10;
+#X obj 91 117 inlet bang;
+#X text 37 51 may people think that it is a bad idea to not create
+[repeat] if there is no argument. so this test fails when the object
+cannot instantiate;
+#N canvas 238 169 450 300 input 0;
+#X obj 119 243 outlet~;
+#N canvas 0 0 450 300 send 0;
+#X obj 82 48 inlet~;
+#X obj 96 255 outlet~;
+#X obj 258 255 outlet~;
+#X obj 96 227 tabreceive~ \$0-input1;
+#X obj 258 227 tabreceive~ \$0-input2;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X restore 119 218 pd send;
+#N canvas 0 0 450 300 generate~ 0;
+#X obj 120 111 noise~;
+#X obj 112 182 outlet~;
+#X obj 120 133 tabsend~ \$0-input1;
+#X obj 259 112 noise~;
+#X obj 259 134 tabsend~ \$0-input2;
+#X connect 0 0 2 0;
+#X connect 3 0 4 0;
+#X restore 119 194 pd generate~;
+#X obj 117 145 table \$0-input1 64;
+#X obj 257 145 table \$0-input2 64;
+#X obj 178 243 outlet~;
+#X connect 1 0 0 0;
+#X connect 1 1 5 0;
+#X connect 2 0 1 0;
+#X restore 158 243 pd input;
+#N canvas 363 165 631 415 compare 0;
+#X obj 261 65 inlet~ processed;
+#X obj 262 94 tabsend~ \$0-output;
+#X obj 417 92 table \$0-output 64;
+#X obj 51 378 outlet passed;
+#X obj 52 169 i;
+#X obj 83 169 + 1;
+#X obj 52 103 t b b;
+#X msg 52 124 64;
+#X msg 84 123 0;
+#X obj 52 197 t f f;
+#X obj 52 229 tabread \$0-output;
+#X obj 182 229 tabread \$0-reference;
+#X obj 51 309 f;
+#X obj 52 257 -;
+#X obj 52 278 select 0;
+#X obj 29 44 inlet doit;
+#X obj 29 71 t b b b;
+#X msg 127 275 0;
+#X obj 51 336 == 0;
+#X obj 52 144 until;
+#X obj 195 327 pack 0 0 0;
+#X obj 195 349 print or~;
+#X connect 0 0 1 0;
+#X connect 4 0 5 0;
+#X connect 4 0 9 0;
+#X connect 5 0 4 1;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 19 0;
+#X connect 8 0 4 1;
+#X connect 9 0 10 0;
+#X connect 9 1 11 0;
+#X connect 9 1 20 2;
+#X connect 10 0 13 0;
+#X connect 10 0 20 0;
+#X connect 11 0 13 1;
+#X connect 11 0 20 1;
+#X connect 12 0 18 0;
+#X connect 13 0 14 0;
+#X connect 14 1 12 1;
+#X connect 15 0 16 0;
+#X connect 16 0 12 0;
+#X connect 16 1 6 0;
+#X connect 16 2 17 0;
+#X connect 17 0 12 1;
+#X connect 18 0 3 0;
+#X connect 19 0 4 0;
+#X restore 91 367 pd compare;
+#N canvas 1456 193 714 565 reference 0;
+#X obj 519 101 table \$0-reference 64;
+#X obj 49 38 inlet doit;
+#X obj 237 371 outlet in~;
+#X obj 49 376 outlet done;
+#X obj 240 86 inlet out~;
+#X obj 69 92 t b b;
+#X msg 69 112 64;
+#X msg 101 112 0;
+#X obj 69 274 f;
+#X obj 69 252 t b f b;
+#X obj 69 300 pack 0 0;
+#X obj 69 326 tabwrite \$0-reference;
+#X obj 49 61 t b b;
+#X obj 129 274 / 100;
+#X obj 129 252 random 100;
+#X msg 99 59 bang;
+#X obj 69 136 until;
+#X obj 69 162 i;
+#X obj 99 162 + 1;
+#X obj 69 186 t f f;
+#X obj 69 208 t f f;
+#X obj 69 229 tabread \$0-input1;
+#X obj 199 229 tabread \$0-input2;
+#X obj 237 348 pack;
+#X connect 1 0 12 0;
+#X connect 4 0 8 1;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 16 0;
+#X connect 7 0 17 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 1 23 0;
+#X connect 9 2 14 0;
+#X connect 10 0 11 0;
+#X connect 12 0 3 0;
+#X connect 12 1 5 0;
+#X connect 13 0 8 1;
+#X connect 14 0 13 0;
+#X connect 15 0 5 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 1;
+#X connect 19 0 20 0;
+#X connect 19 1 10 1;
+#X connect 20 0 21 0;
+#X connect 20 1 22 0;
+#X connect 21 0 9 0;
+#X connect 22 0 23 1;
+#X connect 23 0 2 0;
+#X restore 91 303 pd reference;
+#X obj 91 396 outlet result;
+#X msg 210 390 -1;
+#X obj 250 303 unpack;
+#X obj 250 326 ||;
+#X obj 158 274 ||~;
+#X obj 134 162 s \$0-init;
+#X obj 91 162 bang~;
+#X obj 91 138 t b b b;
+#X msg 158 138 bang;
+#X connect 0 0 12 0;
+#X connect 2 0 9 0;
+#X connect 2 1 9 1;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 4 1 7 0;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 7 1 8 1;
+#X connect 8 0 4 1;
+#X connect 9 0 3 1;
+#X connect 11 0 4 0;
+#X connect 12 1 10 0;
+#X connect 12 2 6 0;
+#X connect 13 0 12 0;
diff --git a/tests/or~/singlenoise.pd b/tests/or~/singlenoise.pd
new file mode 100644
index 0000000..213f20a
--- /dev/null
+++ b/tests/or~/singlenoise.pd
@@ -0,0 +1,158 @@
+#N canvas 527 170 977 584 10;
+#X obj 91 117 inlet bang;
+#X text 37 51 may people think that it is a bad idea to not create
+[repeat] if there is no argument. so this test fails when the object
+cannot instantiate;
+#N canvas 363 165 631 415 compare 1;
+#X obj 261 65 inlet~ processed;
+#X obj 262 94 tabsend~ \$0-output;
+#X obj 417 92 table \$0-output 64;
+#X obj 51 378 outlet passed;
+#X obj 52 169 i;
+#X obj 83 169 + 1;
+#X obj 52 103 t b b;
+#X msg 52 124 64;
+#X msg 84 123 0;
+#X obj 52 197 t f f;
+#X obj 52 229 tabread \$0-output;
+#X obj 182 229 tabread \$0-reference;
+#X obj 51 309 f;
+#X obj 52 257 -;
+#X obj 52 278 select 0;
+#X obj 29 44 inlet doit;
+#X obj 29 71 t b b b;
+#X msg 127 275 0;
+#X obj 51 336 == 0;
+#X obj 52 144 until;
+#X obj 195 327 pack 0 0 0;
+#X obj 195 349 print or~;
+#X connect 0 0 1 0;
+#X connect 4 0 5 0;
+#X connect 4 0 9 0;
+#X connect 5 0 4 1;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 19 0;
+#X connect 8 0 4 1;
+#X connect 9 0 10 0;
+#X connect 9 1 11 0;
+#X connect 9 1 20 2;
+#X connect 10 0 13 0;
+#X connect 10 0 20 0;
+#X connect 11 0 13 1;
+#X connect 11 0 20 1;
+#X connect 12 0 18 0;
+#X connect 13 0 14 0;
+#X connect 14 1 12 1;
+#X connect 15 0 16 0;
+#X connect 16 0 12 0;
+#X connect 16 1 6 0;
+#X connect 16 2 17 0;
+#X connect 17 0 12 1;
+#X connect 18 0 3 0;
+#X connect 19 0 4 0;
+#X connect 20 0 21 0;
+#X restore 91 367 pd compare;
+#N canvas 1456 193 714 565 reference 0;
+#X obj 519 101 table \$0-reference 64;
+#X obj 49 38 inlet doit;
+#X obj 237 371 outlet in~;
+#X obj 49 376 outlet done;
+#X obj 240 86 inlet out~;
+#X obj 69 92 t b b;
+#X msg 69 112 64;
+#X msg 101 112 0;
+#X obj 69 274 f;
+#X obj 69 252 t b f b;
+#X obj 69 300 pack 0 0;
+#X obj 69 326 tabwrite \$0-reference;
+#X obj 49 61 t b b;
+#X obj 129 274 / 100;
+#X obj 129 252 random 100;
+#X msg 99 59 bang;
+#X obj 69 136 until;
+#X obj 69 162 i;
+#X obj 99 162 + 1;
+#X obj 69 186 t f f;
+#X obj 69 208 t f f;
+#X obj 69 229 tabread \$0-input1;
+#X obj 199 229 tabread \$0-input2;
+#X obj 237 348 pack;
+#X connect 1 0 12 0;
+#X connect 4 0 8 1;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 16 0;
+#X connect 7 0 17 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 1 23 0;
+#X connect 9 2 14 0;
+#X connect 10 0 11 0;
+#X connect 12 0 3 0;
+#X connect 12 1 5 0;
+#X connect 13 0 8 1;
+#X connect 14 0 13 0;
+#X connect 15 0 5 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 1;
+#X connect 19 0 20 0;
+#X connect 19 1 10 1;
+#X connect 20 0 21 0;
+#X connect 20 1 22 0;
+#X connect 21 0 9 0;
+#X connect 22 0 23 1;
+#X connect 23 0 2 0;
+#X restore 91 303 pd reference;
+#X obj 91 396 outlet result;
+#X msg 210 390 -1;
+#X obj 250 303 unpack;
+#X obj 250 326 ||;
+#X obj 134 162 s \$0-init;
+#X obj 91 162 bang~;
+#X obj 91 138 t b b b;
+#X msg 158 138 bang;
+#N canvas 238 169 450 300 input1 0;
+#X obj 119 243 outlet~;
+#N canvas 0 0 450 300 send 0;
+#X obj 82 48 inlet~;
+#X obj 96 255 outlet~;
+#X obj 258 255 outlet~;
+#X obj 96 227 tabreceive~ \$0-input1;
+#X obj 258 227 tabreceive~ \$0-input2;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X restore 119 218 pd send;
+#N canvas 0 0 450 300 generate~ 0;
+#X obj 120 111 noise~;
+#X obj 112 182 outlet~;
+#X obj 120 133 tabsend~ \$0-input1;
+#X obj 259 134 tabsend~ \$0-input2;
+#X connect 0 0 2 0;
+#X connect 0 0 3 0;
+#X restore 119 194 pd generate~;
+#X obj 117 145 table \$0-input1 64;
+#X obj 257 145 table \$0-input2 64;
+#X obj 178 243 outlet~;
+#X connect 1 0 0 0;
+#X connect 1 1 5 0;
+#X connect 2 0 1 0;
+#X restore 158 243 pd input1;
+#X obj 158 274 ||~;
+#X connect 0 0 10 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 3 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 3 1;
+#X connect 9 0 3 0;
+#X connect 10 1 8 0;
+#X connect 10 2 5 0;
+#X connect 11 0 10 0;
+#X connect 12 0 13 0;
+#X connect 12 1 13 1;
+#X connect 13 0 2 1;
diff --git a/tests/runtests.txt b/tests/runtests.txt
index b023f7b..0ecb331 100644
--- a/tests/runtests.txt
+++ b/tests/runtests.txt
@@ -1,4 +1,12 @@
+absgn~/abs;
+absgn~/sgn;
abs~/simple;
+and~/dualnoise;
+and~/singlenoise;
+eq~/dualnoise;
+eq~/singlenoise;
+gt~/dualnoise;
+gt~/singlenoise;
help-msg/0x260x260x7e;
help-msg/0x2e;
help-msg/0x3c0x7e;
@@ -74,14 +82,19 @@ l2s/delimiter;
list2lists/negativelength;
lister/inline2;
lister/inline;
+lt~/dualnoise;
+lt~/singlenoise;
msgfile/empty_at_end;
msgfile/emptyreplace;
msgfile/loadingCR;
msgfile/loading;
msgfile/prev_from_end;
msgfile/reentrant;
+or~/dualnoise;
+or~/singlenoise;
repeat/noargs;
s2l/numsymbols;
+sgn~/simple;
testtests/fail_noresult;
testtests/fail;
testtests/fail_wait0;
diff --git a/tests/runtests_nogui.pd b/tests/runtests_nogui.pd
index 497368d..fc0dda6 100644
--- a/tests/runtests_nogui.pd
+++ b/tests/runtests_nogui.pd
@@ -1,31 +1,33 @@
#N canvas 338 0 512 588 10;
-#X obj 86 269 testunit;
-#X obj 86 190 textfile;
-#X msg 104 144 read runtests.txt \, rewind;
+#X obj 86 349 testunit;
+#X obj 86 270 textfile;
+#X msg 104 224 read runtests.txt \, rewind;
#X obj 86 34 loadbang;
-#X msg 137 231 \; pd quit;
-#X obj 86 317 select 0 1;
-#X obj 111 343 + 1;
-#X obj 171 343 + 1;
-#X obj 87 396 i;
-#X obj 130 396 i;
-#X obj 130 465 print regression-test;
-#X msg 130 440 \$1 tests passed;
-#X msg 87 419 \$1 tests failed;
-#X obj 87 375 t b b;
-#X obj 137 210 t b b;
-#X obj 86 343 i 1;
-#X obj 146 343 i 1;
-#X obj 86 56 t b b b;
-#X msg 123 98 \; pd dsp 1;
-#X text 182 106 turn on dsp \, just in case an object crashes with
+#X msg 137 311 \; pd quit;
+#X obj 86 397 select 0 1;
+#X obj 111 423 + 1;
+#X obj 171 423 + 1;
+#X obj 87 476 i;
+#X obj 130 476 i;
+#X obj 130 545 print regression-test;
+#X msg 130 520 \$1 tests passed;
+#X msg 87 499 \$1 tests failed;
+#X obj 87 455 t b b;
+#X obj 137 290 t b b;
+#X obj 86 423 i 1;
+#X obj 146 423 i 1;
+#X obj 86 136 t b b b;
+#X msg 137 60 \; pd dsp 1;
+#X text 182 186 turn on dsp \, just in case an object crashes with
dsp enabled...;
-#X obj 61 295 t b a;
+#X obj 61 375 t b a;
+#X obj 86 56 t b b;
+#X obj 86 78 del 10;
#X connect 0 0 20 0;
#X connect 1 0 0 0;
#X connect 1 1 14 0;
#X connect 2 0 1 0;
-#X connect 3 0 17 0;
+#X connect 3 0 21 0;
#X connect 5 0 15 0;
#X connect 5 1 16 0;
#X connect 6 0 15 1;
@@ -44,6 +46,8 @@ dsp enabled...;
#X connect 16 0 9 1;
#X connect 17 0 1 0;
#X connect 17 1 2 0;
-#X connect 17 2 18 0;
#X connect 20 0 1 0;
#X connect 20 1 5 0;
+#X connect 21 0 22 0;
+#X connect 21 1 18 0;
+#X connect 22 0 17 0;
diff --git a/tests/testunit.pd b/tests/testunit.pd
index ff70ba9..57b6dd7 100644
--- a/tests/testunit.pd
+++ b/tests/testunit.pd
@@ -88,7 +88,6 @@ test returns a result (potentially infinitely long)!;
#X text 77 33 pros: the test need not be finished in zero-time (good
for testing signal-objects or timed objects);
#X obj 71 470 t l l;
-#X obj 71 214 t b;
#N canvas 0 0 625 330 create/destroy 0;
#X obj 148 53 inlet;
#X obj 449 48 inlet clear;
@@ -109,20 +108,33 @@ for testing signal-objects or timed objects);
#X connect 5 1 3 0;
#X connect 6 0 7 0;
#X connect 8 0 2 0;
-#X restore 89 326 pd create/destroy testpatch;
+#X restore 146 324 pd create/destroy testpatch;
+#N canvas 0 0 450 300 restartaudio 0;
+#X obj 113 77 inlet;
+#X obj 113 99 t b;
+#X msg 113 121 dsp 0 \, dsp 1;
+#X obj 113 143 s pd;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X restore 141 186 pd restartaudio;
+#X obj 71 214 t b;
+#X obj 71 186 t b b;
#X connect 0 0 7 0;
#X connect 1 0 0 0;
#X connect 3 0 14 0;
#X connect 4 0 0 0;
#X connect 6 0 3 0;
-#X connect 6 1 16 1;
-#X connect 7 0 15 0;
-#X connect 7 1 16 0;
+#X connect 6 1 15 1;
+#X connect 7 0 18 0;
+#X connect 7 1 15 0;
#X connect 7 2 3 1;
#X connect 10 0 6 0;
#X connect 14 0 2 0;
#X connect 14 1 5 0;
-#X connect 15 0 10 0;
+#X connect 17 0 10 0;
+#X connect 18 0 17 0;
+#X connect 18 1 16 0;
#X restore 94 218 pd run-test;
#X obj 94 243 outlet;
#X obj 94 191 inlet;