129 lines
3.1 KiB
Plaintext
129 lines
3.1 KiB
Plaintext
/-------------- 3 --------------\
|
|
| |
|
|
+-- 2 --v-- 3 --v-- 3 --v-- 1 --+
|
|
| | | | |
|
|
q[ 0] = (+ h[ 5] - h[ 7] + h[10] + h[13] + h[14]);
|
|
q[ 1] = (+ h[ 6] - h[ 8] + h[11] + h[14] - h[15]);
|
|
q[ 2] = (+ h[ 7] + h[ 9] - h[12] + h[15] + h[ 0]);
|
|
q[ 3] = (+ h[ 8] - h[10] + h[13] + h[ 0] - h[ 1]);
|
|
q[ 4] = (+ h[ 9] - h[11] - h[14] + h[ 1] + h[ 2]);
|
|
q[ 5] = (+ h[10] - h[12] + h[15] - h[ 2] + h[ 3]);
|
|
q[ 6] = (- h[11] + h[13] - h[ 0] - h[ 3] + h[ 4]);
|
|
q[ 7] = (- h[12] - h[14] + h[ 1] - h[ 4] - h[ 5]);
|
|
q[ 8] = (+ h[13] - h[15] + h[ 2] - h[ 5] - h[ 6]);
|
|
q[ 9] = (+ h[14] + h[ 0] - h[ 3] + h[ 6] - h[ 7]);
|
|
q[10] = (+ h[15] - h[ 1] - h[ 4] - h[ 7] + h[ 8]);
|
|
q[11] = (- h[ 0] - h[ 2] - h[ 5] + h[ 8] + h[ 9]);
|
|
q[12] = (+ h[ 1] + h[ 3] - h[ 6] - h[ 9] + h[10]);
|
|
q[13] = (+ h[ 2] + h[ 4] + h[ 7] + h[10] + h[11]);
|
|
q[14] = (+ h[ 3] - h[ 5] + h[ 8] - h[11] - h[12]);
|
|
q[15] = (- h[ 4] - h[ 6] - h[ 9] + h[12] + h[13]);
|
|
|
|
A B C D E F G
|
|
q[ 0] = (+ h[ 5] - h[ 7] + h[10] + h[13] + h[14]);
|
|
q[ 3] = (+ h[ 8] - h[10] + h[13] + h[ 0] - h[ 1]);
|
|
q[ 6] = (- h[11] + h[13] - h[ 0] - h[ 3] + h[ 4]);
|
|
q[ 9] = (+ h[14] + h[ 0] - h[ 3] + h[ 6] - h[ 7]);
|
|
q[12] = (+ h[ 1] + h[ 3] - h[ 6] - h[ 9] + h[10]);
|
|
q[15] = (- h[ 4] - h[ 6] - h[ 9] + h[12] + h[13]);
|
|
q[ 2] = (+ h[ 7] + h[ 9] - h[12] + h[15] + h[ 0]);
|
|
q[ 5] = (+ h[10] - h[12] + h[15] - h[ 2] + h[ 3]);
|
|
q[ 8] = (+ h[13] - h[15] + h[ 2] - h[ 5] - h[ 6]);
|
|
q[11] = (- h[ 0] - h[ 2] - h[ 5] + h[ 8] + h[ 9]);
|
|
q[14] = (+ h[ 3] - h[ 5] + h[ 8] - h[11] - h[12]);
|
|
q[ 1] = (+ h[ 6] - h[ 8] + h[11] + h[14] - h[15]);
|
|
q[ 4] = (+ h[ 9] - h[11] - h[14] + h[ 1] + h[ 2]);
|
|
q[ 7] = (- h[12] - h[14] + h[ 1] - h[ 4] - h[ 5]);
|
|
q[10] = (+ h[15] - h[ 1] - h[ 4] - h[ 7] + h[ 8]);
|
|
q[13] = (+ h[ 2] + h[ 4] + h[ 7] + h[10] + h[11]);
|
|
;-- (1)
|
|
Q = 0; A=5; B=7; C=10; D=13; E=14; F=11; G=8;
|
|
Q = * A * B * C * D * E
|
|
Q+=3; A=G; G=F; F=E; E+=3; B=C; C=D; D+=3;
|
|
;-- (2)
|
|
G=5; F=8; E=11; C=7; D=10;
|
|
|
|
|
|
/* signs */
|
|
|
|
+-+++
|
|
+-++-
|
|
-+--+
|
|
++-+-
|
|
++--+
|
|
---++
|
|
++-++
|
|
+-+-+
|
|
+-+--
|
|
---++
|
|
+-+--
|
|
+-++-
|
|
+--++
|
|
--+--
|
|
+---+
|
|
+++++
|
|
|
|
+---------- 0x4222 / 0x2224
|
|
| +-------- 0x3AF7 / 0x7FA3
|
|
| | +------ 0xC725 / 0x527C
|
|
| | | +---- 0x4956 / 0x6594
|
|
| | | | +-- 0x50D2 / 0x2D05
|
|
| | | | |
|
|
;----------
|
|
0 1 0 0 0 -- 0x08
|
|
0 1 0 0 1 -- 0x09
|
|
1 0 1 1 0 -- 0x16
|
|
0 0 1 0 1 -- 0x05
|
|
;----------
|
|
0 0 1 1 0 -- 0x06
|
|
1 1 1 0 0 -- 0x1C
|
|
0 0 1 0 0 -- 0x04
|
|
0 1 0 1 0 -- 0x0A
|
|
;----------
|
|
0 1 0 1 1 -- 0x0B
|
|
1 1 1 0 0 -- 0x1C
|
|
0 1 0 1 1 -- 0x0B
|
|
0 1 0 0 1 -- 0x09
|
|
;----------
|
|
0 1 1 0 0 -- 0x0C
|
|
1 1 0 1 1 -- 0x1B
|
|
0 1 1 1 0 -- 0x0E
|
|
0 0 0 0 0 -- 0x00
|
|
;---------
|
|
|
|
/* signs (in order 0..15) */
|
|
+-+++
|
|
+-++-
|
|
++-++
|
|
+-++-
|
|
+--++
|
|
+-+-+
|
|
-+--+
|
|
--+--
|
|
+-+--
|
|
++-+-
|
|
+---+
|
|
---++
|
|
++--+
|
|
+++++
|
|
+-+--
|
|
---++
|
|
|
|
0 1 0 0 0 -- 0x08
|
|
0 1 0 0 1 -- 0x09
|
|
0 0 1 0 0 -- 0x04
|
|
0 1 0 0 1 -- 0x05
|
|
0 1 1 0 0 -- 0x0C
|
|
0 1 0 1 0 -- 0x0A
|
|
1 0 1 1 0 -- 0x16
|
|
1 1 0 1 1 -- 0x1D
|
|
0 1 0 1 1 -- 0x0D
|
|
0 0 1 0 1 -- 0x05
|
|
0 1 1 1 0 -- 0x0E
|
|
1 1 1 0 0 -- 0x1C
|
|
0 0 1 1 0 -- 0x06
|
|
0 0 0 0 0 -- 0x00
|
|
0 1 0 1 1 -- 0x0D
|
|
1 1 1 0 0 -- 0x1C
|
|
|
|
|