aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorN.N <matju@users.sourceforge.net>2006-01-09 05:04:19 +0000
committerIOhannes m zmölnig <zmoelnig@iem.at>2015-10-14 14:51:14 +0200
commit57b026b114a2e51865a2e31ea8a8b8e36191df60 (patch)
tree4b8bb92c2634d9ed5cc38fbce0a0c991a48e1e09
parentfd589e5905e18c63c26f105c3913edbeff2601c6 (diff)
extern alle im Punity
svn path=/trunk/externals/pureunity/; revision=4380
-rw-r--r--ChangeLog14
-rw-r--r--Makefile2
-rw-r--r--README10
-rw-r--r--TODO4
-rw-r--r--generics/#.rand.pd40
-rw-r--r--generics/antireflexive-test.pd13
-rw-r--r--generics/associative-test.pd32
-rw-r--r--generics/commutative-test.pd39
-rw-r--r--generics/distributive-test.pd32
-rw-r--r--generics/f.rand.pd40
-rw-r--r--generics/invertible-test.pd31
-rw-r--r--generics/partialorder-test.pd14
-rw-r--r--generics/partialordereq-test.pd14
-rw-r--r--generics/protocols-tree.pd2
-rw-r--r--generics/reflexive-test.pd13
-rw-r--r--generics/totalorder-test.pd11
-rw-r--r--generics/totalordereq-test.pd11
-rw-r--r--generics/trichotomy-test.pd32
-rw-r--r--generics/twice.pd31
-rw-r--r--generics/~.rand.pd22
-rw-r--r--pureunity.c2
-rw-r--r--specifics/comparators-test.pd7
22 files changed, 132 insertions, 284 deletions
diff --git a/ChangeLog b/ChangeLog
index 9b27af3..8fcebd6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,16 +1,20 @@
-$Id: ChangeLog,v 1.3 2006-01-04 02:59:22 matju Exp $
+$Id: ChangeLog,v 1.1 2006-01-09 05:04:19 matju Exp $
-version 0.1:
+version 0.1 (2006.01.??):
+ *
+
+version 0.0 (2006.01.06):
* LICENSE is GPL
- * README
+ * doc is in README
* new object classes:
* [commutator], [commutative-test]
* [associator], [associative-test]
* [invertor], [invertible-test]
* [distributor], [distributive-test]
+ * [trichotomy-test], ...
* [twice], [3times], [4times], [^]
- * [tree], [protocol-tree]
+ * [tree], [protocols-tree]
* [rtimer]
- * for $1 in f,~,#:
+ * for $1 in f,~ and some of #:
[$1.norm], [$1.taa], [$1.do], [$1.packunpack3], [$1.swap]
[$1.inlet], [$1.outlet]
diff --git a/Makefile b/Makefile
index e9d9683..4d9fc2e 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
PD = /home/matju/pd_devel_0_39_und/bin/pd
#PD = pd
PDFLAGS = -lib pureunity -noaudio -path generics -path specifics
-# PDFLAGS += -lib gridflow
+PDFLAGS += -lib gridflow
CFLAGS = -Wall
test:: built
diff --git a/README b/README
index 3f50320..aeae601 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-$Id: README,v 1.9 2006-01-07 07:19:27 matju Exp $
+$Id: README,v 1.1 2006-01-09 05:04:19 matju Exp $
PureUnity
@@ -215,10 +215,13 @@ have the following class set:
[$1.swap] [swap] noop TODO
[$1.norm] [abs] [env~] [# sq]->[#ravel]->[#fold +]->[#export]->[sqrt]
[$1.packunpack3] pack,unpack noop TODO
-
+
The first two cannot be implemented as abstractions and instead must be
defined as aliases in pureunity.c.
+extra metaabstractions:
+ [$1.rand] [f.rand] [~.rand]TODO [#.rand]TODO
+
+-+-+--+---+-----+--------+-------------+---------------------+
OTHER PROTOCOLS
@@ -265,6 +268,9 @@ to be the result of a norm))).
distances between objects: together=0 and apart=1)))
+-+-+--+---+-----+--------+-------------+---------------------+
+RANDOMIZERS (?)
+
++-+-+--+---+-----+--------+-------------+---------------------+
ETC
diff --git a/TODO b/TODO
index f198263..126a2c1 100644
--- a/TODO
+++ b/TODO
@@ -1,4 +1,4 @@
-$Id: TODO,v 1.3 2006-01-04 02:59:22 matju Exp $
+$Id: TODO,v 1.1 2006-01-09 05:04:19 matju Exp $
TODO:
* benchmark
@@ -9,3 +9,5 @@ TODO:
* contracts : *-rule.pd
* tests for the frameworks' own components?
+
+
diff --git a/generics/#.rand.pd b/generics/#.rand.pd
new file mode 100644
index 0000000..0a295da
--- /dev/null
+++ b/generics/#.rand.pd
@@ -0,0 +1,40 @@
+#N canvas 0 0 450 300 10;
+#X obj 21 34 inlet;
+#X obj 21 223 *;
+#X obj 73 95 random 256;
+#X obj 183 87 random;
+#X msg 220 39 1;
+#X obj 220 20 loadbang;
+#X obj 220 58 << 23;
+#X obj 183 106 +;
+#X obj 21 53 t b b b;
+#X obj 21 136 random 2;
+#X obj 21 174 - 1;
+#X obj 73 114 - 150;
+#X obj 43 114 pow;
+#X obj 21 242 outlet;
+#X obj 43 76 t b b;
+#X msg 43 95 2;
+#X obj 21 199 *;
+#X obj 21 155 * 2;
+#X connect 0 0 8 0;
+#X connect 1 0 13 0;
+#X connect 2 0 11 0;
+#X connect 3 0 7 0;
+#X connect 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 3 1;
+#X connect 6 0 7 1;
+#X connect 7 0 16 1;
+#X connect 8 0 9 0;
+#X connect 8 1 14 0;
+#X connect 8 2 3 0;
+#X connect 9 0 17 0;
+#X connect 10 0 16 0;
+#X connect 11 0 12 1;
+#X connect 12 0 1 1;
+#X connect 14 0 15 0;
+#X connect 14 1 2 0;
+#X connect 15 0 12 0;
+#X connect 16 0 1 0;
+#X connect 17 0 10 0;
diff --git a/generics/antireflexive-test.pd b/generics/antireflexive-test.pd
deleted file mode 100644
index 7353dc6..0000000
--- a/generics/antireflexive-test.pd
+++ /dev/null
@@ -1,13 +0,0 @@
-#N canvas 0 0 450 164 10;
-#X obj 12 18 inlet;
-#X obj 12 118 outlet;
-#X obj 12 80 \$2;
-#X msg 12 37 2 2;
-#X obj 12 56 t a a;
-#X obj 12 99 == 0;
-#X connect 0 0 3 0;
-#X connect 2 0 5 0;
-#X connect 3 0 4 0;
-#X connect 4 0 2 0;
-#X connect 4 1 2 1;
-#X connect 5 0 1 0;
diff --git a/generics/associative-test.pd b/generics/associative-test.pd
deleted file mode 100644
index 1994c4e..0000000
--- a/generics/associative-test.pd
+++ /dev/null
@@ -1,32 +0,0 @@
-#N canvas 736 151 452 434 10;
-#X obj 40 15 inlet bang;
-#X obj 40 150 /;
-#X obj 40 169 t a a;
-#X text 167 24 with tolerance 0;
-#X obj 40 188 <= 0;
-#X text 167 9 This test verifies that (1+2)+3=1+(2+3);
-#X msg 40 34 1 2 3;
-#X obj 40 74 unpack 0 0 0;
-#X obj 40 245 outlet;
-#X obj 40 131 * 2;
-#X obj 40 112 \$1.norm;
-#X obj 147 112 \$1.norm;
-#X obj 40 93 associator \$1 \$2;
-#X obj 40 226 list append associative \$1 \$2;
-#X obj 40 207 pack 0 0 -1;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 2 0 4 0;
-#X connect 2 1 14 1;
-#X connect 4 0 14 0;
-#X connect 6 0 7 0;
-#X connect 7 0 12 0;
-#X connect 7 1 12 1;
-#X connect 7 2 12 2;
-#X connect 9 0 1 0;
-#X connect 10 0 9 0;
-#X connect 11 0 1 1;
-#X connect 12 0 10 0;
-#X connect 12 1 11 0;
-#X connect 13 0 8 0;
-#X connect 14 0 13 0;
diff --git a/generics/commutative-test.pd b/generics/commutative-test.pd
deleted file mode 100644
index ec67417..0000000
--- a/generics/commutative-test.pd
+++ /dev/null
@@ -1,39 +0,0 @@
-#N canvas 555 5 452 322 10;
-#X obj 40 15 inlet bang;
-#X obj 101 102 unpack 0 0;
-#X obj 101 183 /;
-#X msg 40 34 1 3;
-#X text 216 9 This test verifies that 1+3=3+1;
-#X obj 101 202 t a a;
-#X obj 101 278 outlet;
-#X text 217 44 with tolerance 0;
-#X obj 101 221 <= 0;
-#X text 218 23 and 1*3=3*1 and...;
-#X obj 101 164 * 2;
-#X obj 101 145 \$1.norm;
-#X obj 208 145 \$1.norm;
-#X obj 101 126 commutator \$1 \$2;
-#X obj 41 53 t b l b;
-#X obj 43 95 rtimer;
-#X floatatom 44 125 5 0 0 0 - - -;
-#X obj 101 259 list append commutative \$1 \$2;
-#X obj 101 240 pack 0 0 -1;
-#X connect 0 0 3 0;
-#X connect 1 0 13 0;
-#X connect 1 1 13 1;
-#X connect 2 0 5 0;
-#X connect 3 0 14 0;
-#X connect 5 0 8 0;
-#X connect 5 1 18 1;
-#X connect 8 0 18 0;
-#X connect 10 0 2 0;
-#X connect 11 0 10 0;
-#X connect 12 0 2 1;
-#X connect 13 0 11 0;
-#X connect 13 1 12 0;
-#X connect 14 0 15 1;
-#X connect 14 1 1 0;
-#X connect 14 2 15 0;
-#X connect 15 0 16 0;
-#X connect 17 0 6 0;
-#X connect 18 0 17 0;
diff --git a/generics/distributive-test.pd b/generics/distributive-test.pd
deleted file mode 100644
index 8f6692a..0000000
--- a/generics/distributive-test.pd
+++ /dev/null
@@ -1,32 +0,0 @@
-#N canvas 665 86 471 430 10;
-#X obj 40 15 inlet bang;
-#X obj 37 160 /;
-#X obj 37 179 t a a;
-#X text 157 24 with tolerance 0;
-#X obj 37 198 <= 0;
-#X text 156 9 This test verifies that 3*(4+5)=3*4+3*5;
-#X msg 40 34 3 4 5;
-#X obj 40 82 unpack 0 0 0;
-#X obj 37 255 outlet;
-#X obj 37 141 * 2;
-#X obj 37 122 \$1.norm;
-#X obj 172 122 \$1.norm;
-#X obj 37 103 distributor \$1 \$2 \$3;
-#X obj 37 236 list append distributive \$1 \$2 \$3;
-#X obj 37 217 pack 0 0 -1;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 2 0 4 0;
-#X connect 2 1 14 1;
-#X connect 4 0 14 0;
-#X connect 6 0 7 0;
-#X connect 7 0 12 0;
-#X connect 7 1 12 1;
-#X connect 7 2 12 2;
-#X connect 9 0 1 0;
-#X connect 10 0 9 0;
-#X connect 11 0 1 1;
-#X connect 12 0 10 0;
-#X connect 12 1 11 0;
-#X connect 13 0 8 0;
-#X connect 14 0 13 0;
diff --git a/generics/f.rand.pd b/generics/f.rand.pd
new file mode 100644
index 0000000..f4372dc
--- /dev/null
+++ b/generics/f.rand.pd
@@ -0,0 +1,40 @@
+#N canvas 0 0 450 300 10;
+#X obj 11 14 inlet;
+#X obj 11 192 *;
+#X obj 63 75 random 256;
+#X obj 183 87 random;
+#X msg 220 39 1;
+#X obj 220 20 loadbang;
+#X obj 220 58 << 23;
+#X obj 183 106 +;
+#X obj 11 33 t b b b;
+#X obj 11 116 random 2;
+#X obj 11 154 - 1;
+#X obj 63 94 - 150;
+#X obj 33 94 pow;
+#X obj 11 211 outlet;
+#X obj 33 56 t b b;
+#X msg 33 75 2;
+#X obj 11 173 *;
+#X obj 11 135 * 2;
+#X connect 0 0 8 0;
+#X connect 1 0 13 0;
+#X connect 2 0 11 0;
+#X connect 3 0 7 0;
+#X connect 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 3 1;
+#X connect 6 0 7 1;
+#X connect 7 0 16 1;
+#X connect 8 0 9 0;
+#X connect 8 1 14 0;
+#X connect 8 2 3 0;
+#X connect 9 0 17 0;
+#X connect 10 0 16 0;
+#X connect 11 0 12 1;
+#X connect 12 0 1 1;
+#X connect 14 0 15 0;
+#X connect 14 1 2 0;
+#X connect 15 0 12 0;
+#X connect 16 0 1 0;
+#X connect 17 0 10 0;
diff --git a/generics/invertible-test.pd b/generics/invertible-test.pd
deleted file mode 100644
index d08abe9..0000000
--- a/generics/invertible-test.pd
+++ /dev/null
@@ -1,31 +0,0 @@
-#N canvas 665 86 452 291 10;
-#X obj 40 15 inlet bang;
-#X obj 40 79 unpack 0 0;
-#X obj 33 160 /;
-#X msg 40 34 1 3;
-#X obj 33 179 t a a;
-#X text 217 24 with tolerance 0;
-#X obj 33 198 <= 0;
-#X text 215 9 This test verifies that 1+3-3=1;
-#X obj 33 255 outlet;
-#X obj 33 141 * 2;
-#X obj 33 122 \$1.norm;
-#X obj 147 123 \$1.norm;
-#X obj 33 103 invertor \$1 \$2 \$3;
-#X obj 33 236 list append invertible \$1 \$2 \$3;
-#X obj 33 217 pack 0 0 -1;
-#X connect 0 0 3 0;
-#X connect 1 0 12 0;
-#X connect 1 1 12 1;
-#X connect 2 0 4 0;
-#X connect 3 0 1 0;
-#X connect 4 0 6 0;
-#X connect 4 1 14 1;
-#X connect 6 0 14 0;
-#X connect 9 0 2 0;
-#X connect 10 0 9 0;
-#X connect 11 0 2 1;
-#X connect 12 0 10 0;
-#X connect 12 1 11 0;
-#X connect 13 0 8 0;
-#X connect 14 0 13 0;
diff --git a/generics/partialorder-test.pd b/generics/partialorder-test.pd
deleted file mode 100644
index 65aff88..0000000
--- a/generics/partialorder-test.pd
+++ /dev/null
@@ -1,14 +0,0 @@
-#N canvas 118 56 450 189 10;
-#X obj 13 21 inlet;
-#X obj 13 141 outlet;
-#X obj 35 87 transitive-test \$1 \$2;
-#X obj 13 107 antisymmetric-test \$1 \$2;
-#X obj 57 67 antireflexive-test \$1 \$2;
-#X obj 13 41 t b b b;
-#X connect 0 0 5 0;
-#X connect 2 0 1 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 3 0;
-#X connect 5 1 2 0;
-#X connect 5 2 4 0;
diff --git a/generics/partialordereq-test.pd b/generics/partialordereq-test.pd
deleted file mode 100644
index 39de970..0000000
--- a/generics/partialordereq-test.pd
+++ /dev/null
@@ -1,14 +0,0 @@
-#N canvas 118 56 450 182 10;
-#X obj 13 21 inlet;
-#X obj 13 131 outlet;
-#X obj 35 79 transitive-test \$1 \$2;
-#X obj 57 60 reflexive-test \$1 \$2;
-#X obj 13 98 antisymmetric-test \$1 \$2;
-#X obj 13 40 t b b b;
-#X connect 0 0 5 0;
-#X connect 2 0 1 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X connect 5 1 2 0;
-#X connect 5 2 3 0;
diff --git a/generics/protocols-tree.pd b/generics/protocols-tree.pd
index 193b622..f4efcc3 100644
--- a/generics/protocols-tree.pd
+++ b/generics/protocols-tree.pd
@@ -19,7 +19,7 @@
#X obj 486 355 tree \$0 distributive;
#X obj 474 409 tree \$0 invertible;
#X obj 512 115 tree \$0 trichotomy;
-#X obj 385 220 tree \$0 transitive;
+#X obj 380 220 tree \$0 transitive;
#X obj 458 436 tree \$0 semigroup ?;
#X obj 458 381 tree \$0 group ?;
#X obj 622 184 tree \$0 antisymmetric2 ?;
diff --git a/generics/reflexive-test.pd b/generics/reflexive-test.pd
deleted file mode 100644
index 1ae836d..0000000
--- a/generics/reflexive-test.pd
+++ /dev/null
@@ -1,13 +0,0 @@
-#N canvas 0 0 450 161 10;
-#X obj 12 18 inlet;
-#X obj 12 120 outlet;
-#X obj 12 56 t a a;
-#X msg 12 37 2 2;
-#X obj 12 82 \$2;
-#X obj 12 101 == 1;
-#X connect 0 0 3 0;
-#X connect 2 0 4 0;
-#X connect 2 1 4 1;
-#X connect 3 0 2 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 0;
diff --git a/generics/totalorder-test.pd b/generics/totalorder-test.pd
deleted file mode 100644
index 9aa72fc..0000000
--- a/generics/totalorder-test.pd
+++ /dev/null
@@ -1,11 +0,0 @@
-#N canvas 118 56 418 157 10;
-#X obj 13 21 inlet;
-#X obj 13 101 outlet;
-#X obj 43 59 partialorder-test \$1 \$2;
-#X obj 13 78 trichotomy-test \$1 \$2;
-#X obj 13 40 t b b;
-#X connect 0 0 4 0;
-#X connect 2 0 1 0;
-#X connect 3 0 1 0;
-#X connect 4 0 3 0;
-#X connect 4 1 2 0;
diff --git a/generics/totalordereq-test.pd b/generics/totalordereq-test.pd
deleted file mode 100644
index 4c7372d..0000000
--- a/generics/totalordereq-test.pd
+++ /dev/null
@@ -1,11 +0,0 @@
-#N canvas 349 136 450 153 10;
-#X obj 13 21 inlet;
-#X obj 13 97 outlet;
-#X obj 13 78 trichotomy-test \$1 \$2;
-#X obj 43 59 partialordereq-test \$1 \$2;
-#X obj 13 40 t b b;
-#X connect 0 0 4 0;
-#X connect 2 0 1 0;
-#X connect 3 0 1 0;
-#X connect 4 0 2 0;
-#X connect 4 1 3 0;
diff --git a/generics/trichotomy-test.pd b/generics/trichotomy-test.pd
deleted file mode 100644
index 49aa8e7..0000000
--- a/generics/trichotomy-test.pd
+++ /dev/null
@@ -1,32 +0,0 @@
-#N canvas 174 185 553 302 10;
-#X obj 13 21 inlet;
-#X obj 13 255 outlet;
-#X msg 13 40 1 2 \, 2 2 \, 2 1;
-#X msg 38 78 \$2 \$1;
-#X obj 13 117 +;
-#X obj 13 59 t a a a;
-#X obj 13 97 \$3;
-#X obj 38 97 \$3;
-#X obj 91 100 \$2;
-#X obj 38 117 +;
-#X obj 13 136 - 1;
-#X obj 13 155 t a a;
-#X obj 13 174 == 0;
-#X obj 13 236 list append trichotomy \$1 \$2;
-#X obj 13 217 pack 0 0 -1;
-#X connect 0 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 7 0;
-#X connect 4 0 10 0;
-#X connect 5 0 6 0;
-#X connect 5 1 3 0;
-#X connect 5 2 8 0;
-#X connect 6 0 4 0;
-#X connect 7 0 9 0;
-#X connect 8 0 9 1;
-#X connect 9 0 4 1;
-#X connect 11 0 12 0;
-#X connect 11 1 14 1;
-#X connect 12 0 14 0;
-#X connect 13 0 1 0;
-#X connect 14 0 13 0;
diff --git a/generics/twice.pd b/generics/twice.pd
deleted file mode 100644
index 5f3eeec..0000000
--- a/generics/twice.pd
+++ /dev/null
@@ -1,31 +0,0 @@
-#N canvas 330 193 379 266 10;
-#X obj 20 16 inlet;
-#X obj 69 108 inlet;
-#X obj 108 108 inlet;
-#X obj 85 54 t a a;
-#X obj 20 35 route bang;
-#X obj 20 54 t b b;
-#X obj 118 211 pack s s;
-#X obj 46 209 pack 0 0;
-#X obj 46 241 outlet;
-#X obj 46 130 \$1 \$2;
-#X obj 85 130 \$1 \$3;
-#X obj 85 170 route float;
-#X obj 46 190 route float;
-#X connect 0 0 4 0;
-#X connect 1 0 9 1;
-#X connect 2 0 10 1;
-#X connect 3 0 9 0;
-#X connect 3 1 10 0;
-#X connect 4 0 5 0;
-#X connect 4 1 3 0;
-#X connect 5 0 9 0;
-#X connect 5 1 10 0;
-#X connect 6 0 8 0;
-#X connect 7 0 8 0;
-#X connect 9 0 12 0;
-#X connect 10 0 11 0;
-#X connect 11 0 7 1;
-#X connect 11 1 6 1;
-#X connect 12 0 7 0;
-#X connect 12 1 6 0;
diff --git a/generics/~.rand.pd b/generics/~.rand.pd
new file mode 100644
index 0000000..cb1bf37
--- /dev/null
+++ b/generics/~.rand.pd
@@ -0,0 +1,22 @@
+#N canvas 339 187 450 177 10;
+#X obj 105 118 pow;
+#X obj 105 80 t b b;
+#X msg 105 99 2;
+#X obj 22 98 env~;
+#X obj 11 14 inlet;
+#X obj 10 143 outlet~;
+#X text 52 14 banging the inlet does nothing for signals.;
+#X obj 37 62 noise~;
+#X obj 135 99 random 64;
+#X obj 135 118 - 64;
+#X obj 11 62 *~;
+#X connect 0 0 10 0;
+#X connect 1 0 2 0;
+#X connect 1 1 8 0;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X connect 7 0 10 1;
+#X connect 8 0 9 0;
+#X connect 9 0 0 1;
+#X connect 10 0 5 0;
+#X connect 10 0 3 0;
diff --git a/pureunity.c b/pureunity.c
index f98a6b9..f010533 100644
--- a/pureunity.c
+++ b/pureunity.c
@@ -1,5 +1,5 @@
/*
- $Id: pureunity.c,v 1.4 2006-01-06 20:19:28 matju Exp $
+ $Id: pureunity.c,v 1.1 2006-01-09 05:04:19 matju Exp $
PureUnity
Copyright 2006 by Mathieu Bouchard <matju à artengine point ca>
diff --git a/specifics/comparators-test.pd b/specifics/comparators-test.pd
index 0bb640b..ce68acb 100644
--- a/specifics/comparators-test.pd
+++ b/specifics/comparators-test.pd
@@ -24,6 +24,11 @@
#X obj 134 217 antisymmetric-test \$1 >;
#X obj 134 237 antisymmetric-test \$1 <=;
#X obj 134 257 antisymmetric-test \$1 >=;
+#X obj 467 399 \$1.rand;
+#X obj 467 418 nbx 12 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0
+10 -262144 -1 -1 1.56501e-06 256;
+#X obj 467 382 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
#X connect 0 0 16 0;
#X connect 0 0 17 0;
#X connect 0 0 18 0;
@@ -56,3 +61,5 @@
#X connect 21 0 6 0;
#X connect 22 0 6 0;
#X connect 23 0 6 0;
+#X connect 24 0 25 0;
+#X connect 26 0 24 0;