3 const float PAM_200_CENTER = (float) 20.0;
\r
5 #define v(x) ((float) x + PAM_200_CENTER)
\r
6 #define ROW(A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y) \
\r
7 { v(A), v(C), v(D), v(E), v(F), v(G), v(H), v(I), v(K), v(L), \
\r
8 v(M), v(N), v(P), v(Q), v(R), v(S), v(T), v(V), v(W), v(Y) },
\r
10 float PAM200[32][32] =
\r
12 // A C D E F G H I K L
\r
13 // M N P Q R S T V W Y
\r
14 ROW( 388, -0, 34, 32, -202, 159, -88, 89, -55, -67,
\r
15 19, 86, 186, -34, -32, 237, 273, 171, -326, -239) // A
\r
16 ROW( -0, 1170, -248, -315, 74, -14, 43, -151, -204, -196,
\r
17 -132, -49, -142, -215, 29, 165, -7, -69, 179, 313) // C
\r
18 ROW( 34, -248, 625, 496, -419, 148, 78, -245, 55, -361,
\r
19 -255, 332, -169, 122, -64, 45, -13, -167, -438, -148) // D
\r
20 ROW( 32, -315, 496, 610, -480, 125, 25, -245, 175, -327,
\r
21 -242, 166, -141, 279, 34, -30, -56, -150, -386, -305) // E
\r
22 ROW( -202, 74, -419, -480, 888, -407, 62, 80, -443, 320,
\r
23 67, -236, -180, -294, -327, -51, -173, 31, -1, 584) // F
\r
24 ROW( 159, -14, 148, 125, -407, 662, -114, -216, -34, -324,
\r
25 -246, 79, -77, -68, 97, 155, 21, -93, -58, -349) // G
\r
26 ROW( -88, 43, 78, 25, 62, -114, 766, -205, 144, -92,
\r
27 -152, 238, 66, 368, 257, 35, -35, -217, -201, 468) // H
\r
28 ROW( 89, -151, -245, -245, 80, -216, -205, 554, -224, 288,
\r
29 391, -114, -115, -222, -208, -19, 162, 469, -274, -153) // I
\r
30 ROW( -55, -204, 55, 175, -443, -34, 144, -224, 632, -249,
\r
31 -118, 186, -86, 315, 466, 2, 19, -227, -216, -264) // K
\r
32 ROW( -67, -196, -361, -327, 320, -324, -92, 288, -249, 591,
\r
33 369, -223, 53, -86, -170, -69, -41, 239, -66, -29) // L
\r
34 ROW( 19, -132, -255, -242, 67, -246, -152, 391, -118, 369,
\r
35 756, -131, -98, -124, -129, -49, 129, 331, -229, -182) // M
\r
36 ROW( 86, -49, 332, 166, -236, 79, 238, -114, 186, -223,
\r
37 -131, 516, -21, 88, 73, 240, 168, -118, -379, -8) // N
\r
38 ROW( 186, -142, -169, -141, -180, -77, 66, -115, -86, 53,
\r
39 -98, -21, 736, 122, 5, 221, 139, -75, -373, -226) // P
\r
40 ROW( -34, -215, 122, 279, -294, -68, 368, -222, 315, -86,
\r
41 -124, 88, 122, 635, 301, -13, -35, -195, -243, -73) // Q
\r
42 ROW( -32, 29, -64, 34, -327, 97, 257, -208, 466, -170,
\r
43 -129, 73, 5, 301, 606, 28, -4, -201, 104, -133) // R
\r
44 ROW( 237, 165, 45, -30, -51, 155, 35, -19, 2, -69,
\r
45 -49, 240, 221, -13, 28, 353, 259, 8, -213, -55) // S
\r
46 ROW( 273, -7, -13, -56, -173, 21, -35, 162, 19, -41,
\r
47 129, 168, 139, -35, -4, 259, 422, 143, -343, -190) // T
\r
48 ROW( 171, -69, -167, -150, 31, -93, -217, 469, -227, 239,
\r
49 331, -118, -75, -195, -201, 8, 143, 505, -245, -197) // V
\r
50 ROW( -326, 179, -438, -386, -1, -58, -201, -274, -216, -66,
\r
51 -229, -379, -373, -243, 104, -213, -343, -245, 1475, 63) // W
\r
52 ROW( -239, 313, -148, -305, 584, -349, 468, -153, -264, -29,
\r
53 -182, -8, -226, -73, -133, -55, -190, -197, 63, 979) // Y
\r
57 #define v(x) ((float) x)
\r
58 #define RNC(A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y) \
\r
59 { v(A), v(C), v(D), v(E), v(F), v(G), v(H), v(I), v(K), v(L), \
\r
60 v(M), v(N), v(P), v(Q), v(R), v(S), v(T), v(V), v(W), v(Y) },
\r
62 float PAM200NoCenter[32][32] =
\r
65 // A C D E F G H I K L
\r
66 // M N P Q R S T V W Y
\r
67 RNC( 388, -0, 34, 32, -202, 159, -88, 89, -55, -67,
\r
68 19, 86, 186, -34, -32, 237, 273, 171, -326, -239) // A
\r
69 RNC( -0, 1170, -248, -315, 74, -14, 43, -151, -204, -196,
\r
70 -132, -49, -142, -215, 29, 165, -7, -69, 179, 313) // C
\r
71 RNC( 34, -248, 625, 496, -419, 148, 78, -245, 55, -361,
\r
72 -255, 332, -169, 122, -64, 45, -13, -167, -438, -148) // D
\r
73 RNC( 32, -315, 496, 610, -480, 125, 25, -245, 175, -327,
\r
74 -242, 166, -141, 279, 34, -30, -56, -150, -386, -305) // E
\r
75 RNC( -202, 74, -419, -480, 888, -407, 62, 80, -443, 320,
\r
76 67, -236, -180, -294, -327, -51, -173, 31, -1, 584) // F
\r
77 RNC( 159, -14, 148, 125, -407, 662, -114, -216, -34, -324,
\r
78 -246, 79, -77, -68, 97, 155, 21, -93, -58, -349) // G
\r
79 RNC( -88, 43, 78, 25, 62, -114, 766, -205, 144, -92,
\r
80 -152, 238, 66, 368, 257, 35, -35, -217, -201, 468) // H
\r
81 RNC( 89, -151, -245, -245, 80, -216, -205, 554, -224, 288,
\r
82 391, -114, -115, -222, -208, -19, 162, 469, -274, -153) // I
\r
83 RNC( -55, -204, 55, 175, -443, -34, 144, -224, 632, -249,
\r
84 -118, 186, -86, 315, 466, 2, 19, -227, -216, -264) // K
\r
85 RNC( -67, -196, -361, -327, 320, -324, -92, 288, -249, 591,
\r
86 369, -223, 53, -86, -170, -69, -41, 239, -66, -29) // L
\r
87 RNC( 19, -132, -255, -242, 67, -246, -152, 391, -118, 369,
\r
88 756, -131, -98, -124, -129, -49, 129, 331, -229, -182) // M
\r
89 RNC( 86, -49, 332, 166, -236, 79, 238, -114, 186, -223,
\r
90 -131, 516, -21, 88, 73, 240, 168, -118, -379, -8) // N
\r
91 RNC( 186, -142, -169, -141, -180, -77, 66, -115, -86, 53,
\r
92 -98, -21, 736, 122, 5, 221, 139, -75, -373, -226) // P
\r
93 RNC( -34, -215, 122, 279, -294, -68, 368, -222, 315, -86,
\r
94 -124, 88, 122, 635, 301, -13, -35, -195, -243, -73) // Q
\r
95 RNC( -32, 29, -64, 34, -327, 97, 257, -208, 466, -170,
\r
96 -129, 73, 5, 301, 606, 28, -4, -201, 104, -133) // R
\r
97 RNC( 237, 165, 45, -30, -51, 155, 35, -19, 2, -69,
\r
98 -49, 240, 221, -13, 28, 353, 259, 8, -213, -55) // S
\r
99 RNC( 273, -7, -13, -56, -173, 21, -35, 162, 19, -41,
\r
100 129, 168, 139, -35, -4, 259, 422, 143, -343, -190) // T
\r
101 RNC( 171, -69, -167, -150, 31, -93, -217, 469, -227, 239,
\r
102 331, -118, -75, -195, -201, 8, 143, 505, -245, -197) // V
\r
103 RNC( -326, 179, -438, -386, -1, -58, -201, -274, -216, -66,
\r
104 -229, -379, -373, -243, 104, -213, -343, -245, 1475, 63) // W
\r
105 RNC( -239, 313, -148, -305, 584, -349, 468, -153, -264, -29,
\r
106 -182, -8, -226, -73, -133, -55, -190, -197, 63, 979) // Y
\r