ia64/linux-2.6.18-xen.hg

view drivers/atm/idt77252_tables.h @ 897:329ea0ccb344

balloon: try harder to balloon up under memory pressure.

Currently if the balloon driver is unable to increase the guest's
reservation it assumes the failure was due to reaching its full
allocation, gives up on the ballooning operation and records the limit
it reached as the "hard limit". The driver will not try again until
the target is set again (even to the same value).

However it is possible that ballooning has in fact failed due to
memory pressure in the host and therefore it is desirable to keep
attempting to reach the target in case memory becomes available. The
most likely scenario is that some guests are ballooning down while
others are ballooning up and therefore there is temporary memory
pressure while things stabilise. You would not expect a well behaved
toolstack to ask a domain to balloon to more than its allocation nor
would you expect it to deliberately over-commit memory by setting
balloon targets which exceed the total host memory.

This patch drops the concept of a hard limit and causes the balloon
driver to retry increasing the reservation on a timer in the same
manner as when decreasing the reservation.

Also if we partially succeed in increasing the reservation
(i.e. receive less pages than we asked for) then we may as well keep
those pages rather than returning them to Xen.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jun 05 14:01:20 2009 +0100 (2009-06-05)
parents 831230e53067
children
line source
1 /* Do not edit, automatically generated by `./genrtbl'.
2 *
3 * Cell Line Rate: 353207.55 (155520000 bps)
4 */
6 static unsigned int log_to_rate[] =
7 {
8 /* 000 */ 0x8d022e27, /* cps = 10.02, nrm = 3, interval = 35264.00 */
9 /* 001 */ 0x8d362e11, /* cps = 10.42, nrm = 3, interval = 33856.00 */
10 /* 002 */ 0x8d6e2bf8, /* cps = 10.86, nrm = 3, interval = 32512.00 */
11 /* 003 */ 0x8da82bcf, /* cps = 11.31, nrm = 3, interval = 31200.00 */
12 /* 004 */ 0x8de42ba8, /* cps = 11.78, nrm = 3, interval = 29952.00 */
13 /* 005 */ 0x8e242b82, /* cps = 12.28, nrm = 3, interval = 28736.00 */
14 /* 006 */ 0x8e662b5e, /* cps = 12.80, nrm = 3, interval = 27584.00 */
15 /* 007 */ 0x8eaa2b3c, /* cps = 13.33, nrm = 3, interval = 26496.00 */
16 /* 008 */ 0x8ef22b1a, /* cps = 13.89, nrm = 3, interval = 25408.00 */
17 /* 009 */ 0x8f3e2afa, /* cps = 14.48, nrm = 3, interval = 24384.00 */
18 /* 010 */ 0x8f8a2adc, /* cps = 15.08, nrm = 3, interval = 23424.00 */
19 /* 011 */ 0x8fdc2abe, /* cps = 15.72, nrm = 3, interval = 22464.00 */
20 /* 012 */ 0x90182aa2, /* cps = 16.38, nrm = 3, interval = 21568.00 */
21 /* 013 */ 0x90422a87, /* cps = 17.03, nrm = 3, interval = 20704.00 */
22 /* 014 */ 0x90702a6d, /* cps = 17.75, nrm = 3, interval = 19872.00 */
23 /* 015 */ 0x90a02a54, /* cps = 18.50, nrm = 3, interval = 19072.00 */
24 /* 016 */ 0x90d22a3c, /* cps = 19.28, nrm = 3, interval = 18304.00 */
25 /* 017 */ 0x91062a25, /* cps = 20.09, nrm = 3, interval = 17568.00 */
26 /* 018 */ 0x913c2a0f, /* cps = 20.94, nrm = 3, interval = 16864.00 */
27 /* 019 */ 0x917427f3, /* cps = 21.81, nrm = 3, interval = 16176.00 */
28 /* 020 */ 0x91b027ca, /* cps = 22.75, nrm = 3, interval = 15520.00 */
29 /* 021 */ 0x91ec27a3, /* cps = 23.69, nrm = 3, interval = 14896.00 */
30 /* 022 */ 0x922c277e, /* cps = 24.69, nrm = 3, interval = 14304.00 */
31 /* 023 */ 0x926e275a, /* cps = 25.72, nrm = 3, interval = 13728.00 */
32 /* 024 */ 0x92b42737, /* cps = 26.81, nrm = 3, interval = 13168.00 */
33 /* 025 */ 0x92fc2716, /* cps = 27.94, nrm = 3, interval = 12640.00 */
34 /* 026 */ 0x934626f6, /* cps = 29.09, nrm = 3, interval = 12128.00 */
35 /* 027 */ 0x939426d8, /* cps = 30.31, nrm = 3, interval = 11648.00 */
36 /* 028 */ 0x93e426bb, /* cps = 31.56, nrm = 3, interval = 11184.00 */
37 /* 029 */ 0x941e269e, /* cps = 32.94, nrm = 3, interval = 10720.00 */
38 /* 030 */ 0x944a2683, /* cps = 34.31, nrm = 3, interval = 10288.00 */
39 /* 031 */ 0x9476266a, /* cps = 35.69, nrm = 3, interval = 9888.00 */
40 /* 032 */ 0x94a62651, /* cps = 37.19, nrm = 3, interval = 9488.00 */
41 /* 033 */ 0x94d82639, /* cps = 38.75, nrm = 3, interval = 9104.00 */
42 /* 034 */ 0x950c6622, /* cps = 40.38, nrm = 4, interval = 8736.00 */
43 /* 035 */ 0x9544660c, /* cps = 42.12, nrm = 4, interval = 8384.00 */
44 /* 036 */ 0x957c63ee, /* cps = 43.88, nrm = 4, interval = 8048.00 */
45 /* 037 */ 0x95b663c6, /* cps = 45.69, nrm = 4, interval = 7728.00 */
46 /* 038 */ 0x95f4639f, /* cps = 47.62, nrm = 4, interval = 7416.00 */
47 /* 039 */ 0x96346379, /* cps = 49.62, nrm = 4, interval = 7112.00 */
48 /* 040 */ 0x96766356, /* cps = 51.69, nrm = 4, interval = 6832.00 */
49 /* 041 */ 0x96bc6333, /* cps = 53.88, nrm = 4, interval = 6552.00 */
50 /* 042 */ 0x97046312, /* cps = 56.12, nrm = 4, interval = 6288.00 */
51 /* 043 */ 0x974e62f3, /* cps = 58.44, nrm = 4, interval = 6040.00 */
52 /* 044 */ 0x979e62d4, /* cps = 60.94, nrm = 4, interval = 5792.00 */
53 /* 045 */ 0x97f062b7, /* cps = 63.50, nrm = 4, interval = 5560.00 */
54 /* 046 */ 0x9822629b, /* cps = 66.12, nrm = 4, interval = 5336.00 */
55 /* 047 */ 0x984e6280, /* cps = 68.88, nrm = 4, interval = 5120.00 */
56 /* 048 */ 0x987e6266, /* cps = 71.88, nrm = 4, interval = 4912.00 */
57 /* 049 */ 0x98ac624e, /* cps = 74.75, nrm = 4, interval = 4720.00 */
58 /* 050 */ 0x98e06236, /* cps = 78.00, nrm = 4, interval = 4528.00 */
59 /* 051 */ 0x9914a21f, /* cps = 81.25, nrm = 8, interval = 4344.00 */
60 /* 052 */ 0x994aa209, /* cps = 84.62, nrm = 8, interval = 4168.00 */
61 /* 053 */ 0x99829fe9, /* cps = 88.12, nrm = 8, interval = 4004.00 */
62 /* 054 */ 0x99be9fc1, /* cps = 91.88, nrm = 8, interval = 3844.00 */
63 /* 055 */ 0x99fc9f9a, /* cps = 95.75, nrm = 8, interval = 3688.00 */
64 /* 056 */ 0x9a3c9f75, /* cps = 99.75, nrm = 8, interval = 3540.00 */
65 /* 057 */ 0x9a809f51, /* cps = 104.00, nrm = 8, interval = 3396.00 */
66 /* 058 */ 0x9ac49f2f, /* cps = 108.25, nrm = 8, interval = 3260.00 */
67 /* 059 */ 0x9b0e9f0e, /* cps = 112.88, nrm = 8, interval = 3128.00 */
68 /* 060 */ 0x9b589eef, /* cps = 117.50, nrm = 8, interval = 3004.00 */
69 /* 061 */ 0x9ba69ed1, /* cps = 122.38, nrm = 8, interval = 2884.00 */
70 /* 062 */ 0x9bf89eb4, /* cps = 127.50, nrm = 8, interval = 2768.00 */
71 /* 063 */ 0x9c269e98, /* cps = 132.75, nrm = 8, interval = 2656.00 */
72 /* 064 */ 0x9c549e7d, /* cps = 138.50, nrm = 8, interval = 2548.00 */
73 /* 065 */ 0x9c849e63, /* cps = 144.50, nrm = 8, interval = 2444.00 */
74 /* 066 */ 0x9cb29e4b, /* cps = 150.25, nrm = 8, interval = 2348.00 */
75 /* 067 */ 0x9ce69e33, /* cps = 156.75, nrm = 8, interval = 2252.00 */
76 /* 068 */ 0x9d1cde1c, /* cps = 163.50, nrm = 16, interval = 2160.00 */
77 /* 069 */ 0x9d50de07, /* cps = 170.00, nrm = 16, interval = 2076.00 */
78 /* 070 */ 0x9d8adbe4, /* cps = 177.25, nrm = 16, interval = 1992.00 */
79 /* 071 */ 0x9dc4dbbc, /* cps = 184.50, nrm = 16, interval = 1912.00 */
80 /* 072 */ 0x9e02db96, /* cps = 192.25, nrm = 16, interval = 1836.00 */
81 /* 073 */ 0x9e42db71, /* cps = 200.25, nrm = 16, interval = 1762.00 */
82 /* 074 */ 0x9e86db4d, /* cps = 208.75, nrm = 16, interval = 1690.00 */
83 /* 075 */ 0x9ecedb2b, /* cps = 217.75, nrm = 16, interval = 1622.00 */
84 /* 076 */ 0x9f16db0a, /* cps = 226.75, nrm = 16, interval = 1556.00 */
85 /* 077 */ 0x9f62daeb, /* cps = 236.25, nrm = 16, interval = 1494.00 */
86 /* 078 */ 0x9fb2dacd, /* cps = 246.25, nrm = 16, interval = 1434.00 */
87 /* 079 */ 0xa002dab0, /* cps = 256.50, nrm = 16, interval = 1376.00 */
88 /* 080 */ 0xa02eda94, /* cps = 267.50, nrm = 16, interval = 1320.00 */
89 /* 081 */ 0xa05ada7a, /* cps = 278.50, nrm = 16, interval = 1268.00 */
90 /* 082 */ 0xa088da60, /* cps = 290.00, nrm = 16, interval = 1216.00 */
91 /* 083 */ 0xa0b8da48, /* cps = 302.00, nrm = 16, interval = 1168.00 */
92 /* 084 */ 0xa0ecda30, /* cps = 315.00, nrm = 16, interval = 1120.00 */
93 /* 085 */ 0xa1211a1a, /* cps = 328.00, nrm = 32, interval = 1076.00 */
94 /* 086 */ 0xa1591a04, /* cps = 342.00, nrm = 32, interval = 1032.00 */
95 /* 087 */ 0xa19117df, /* cps = 356.00, nrm = 32, interval = 991.00 */
96 /* 088 */ 0xa1cd17b7, /* cps = 371.00, nrm = 32, interval = 951.00 */
97 /* 089 */ 0xa20b1791, /* cps = 386.50, nrm = 32, interval = 913.00 */
98 /* 090 */ 0xa24d176c, /* cps = 403.00, nrm = 32, interval = 876.00 */
99 /* 091 */ 0xa28f1749, /* cps = 419.50, nrm = 32, interval = 841.00 */
100 /* 092 */ 0xa2d71727, /* cps = 437.50, nrm = 32, interval = 807.00 */
101 /* 093 */ 0xa31f1707, /* cps = 455.50, nrm = 32, interval = 775.00 */
102 /* 094 */ 0xa36d16e7, /* cps = 475.00, nrm = 32, interval = 743.00 */
103 /* 095 */ 0xa3bd16c9, /* cps = 495.00, nrm = 32, interval = 713.00 */
104 /* 096 */ 0xa40716ad, /* cps = 515.00, nrm = 32, interval = 685.00 */
105 /* 097 */ 0xa4331691, /* cps = 537.00, nrm = 32, interval = 657.00 */
106 /* 098 */ 0xa45f1677, /* cps = 559.00, nrm = 32, interval = 631.00 */
107 /* 099 */ 0xa48f165d, /* cps = 583.00, nrm = 32, interval = 605.00 */
108 /* 100 */ 0xa4bf1645, /* cps = 607.00, nrm = 32, interval = 581.00 */
109 /* 101 */ 0xa4f1162e, /* cps = 632.00, nrm = 32, interval = 558.00 */
110 /* 102 */ 0xa5291617, /* cps = 660.00, nrm = 32, interval = 535.00 */
111 /* 103 */ 0xa55f1602, /* cps = 687.00, nrm = 32, interval = 514.00 */
112 /* 104 */ 0xa59913da, /* cps = 716.00, nrm = 32, interval = 493.00 */
113 /* 105 */ 0xa5d513b2, /* cps = 746.00, nrm = 32, interval = 473.00 */
114 /* 106 */ 0xa613138c, /* cps = 777.00, nrm = 32, interval = 454.00 */
115 /* 107 */ 0xa6551368, /* cps = 810.00, nrm = 32, interval = 436.00 */
116 /* 108 */ 0xa6971345, /* cps = 843.00, nrm = 32, interval = 418.50 */
117 /* 109 */ 0xa6df1323, /* cps = 879.00, nrm = 32, interval = 401.50 */
118 /* 110 */ 0xa7291303, /* cps = 916.00, nrm = 32, interval = 385.50 */
119 /* 111 */ 0xa77512e4, /* cps = 954.00, nrm = 32, interval = 370.00 */
120 /* 112 */ 0xa7c512c6, /* cps = 994.00, nrm = 32, interval = 355.00 */
121 /* 113 */ 0xa80d12a9, /* cps = 1036.00, nrm = 32, interval = 340.50 */
122 /* 114 */ 0xa839128e, /* cps = 1080.00, nrm = 32, interval = 327.00 */
123 /* 115 */ 0xa8651274, /* cps = 1124.00, nrm = 32, interval = 314.00 */
124 /* 116 */ 0xa895125a, /* cps = 1172.00, nrm = 32, interval = 301.00 */
125 /* 117 */ 0xa8c71242, /* cps = 1222.00, nrm = 32, interval = 289.00 */
126 /* 118 */ 0xa8f9122b, /* cps = 1272.00, nrm = 32, interval = 277.50 */
127 /* 119 */ 0xa92f1214, /* cps = 1326.00, nrm = 32, interval = 266.00 */
128 /* 120 */ 0xa9670ffe, /* cps = 1382.00, nrm = 32, interval = 255.50 */
129 /* 121 */ 0xa9a10fd5, /* cps = 1440.00, nrm = 32, interval = 245.25 */
130 /* 122 */ 0xa9db0fae, /* cps = 1498.00, nrm = 32, interval = 235.50 */
131 /* 123 */ 0xaa1b0f88, /* cps = 1562.00, nrm = 32, interval = 226.00 */
132 /* 124 */ 0xaa5d0f63, /* cps = 1628.00, nrm = 32, interval = 216.75 */
133 /* 125 */ 0xaaa10f41, /* cps = 1696.00, nrm = 32, interval = 208.25 */
134 /* 126 */ 0xaae90f1f, /* cps = 1768.00, nrm = 32, interval = 199.75 */
135 /* 127 */ 0xab330eff, /* cps = 1842.00, nrm = 32, interval = 191.75 */
136 /* 128 */ 0xab7f0ee0, /* cps = 1918.00, nrm = 32, interval = 184.00 */
137 /* 129 */ 0xabd10ec2, /* cps = 2000.00, nrm = 32, interval = 176.50 */
138 /* 130 */ 0xac110ea6, /* cps = 2080.00, nrm = 32, interval = 169.50 */
139 /* 131 */ 0xac3d0e8b, /* cps = 2168.00, nrm = 32, interval = 162.75 */
140 /* 132 */ 0xac6d0e70, /* cps = 2264.00, nrm = 32, interval = 156.00 */
141 /* 133 */ 0xac9b0e57, /* cps = 2356.00, nrm = 32, interval = 149.75 */
142 /* 134 */ 0xaccd0e3f, /* cps = 2456.00, nrm = 32, interval = 143.75 */
143 /* 135 */ 0xacff0e28, /* cps = 2556.00, nrm = 32, interval = 138.00 */
144 /* 136 */ 0xad350e12, /* cps = 2664.00, nrm = 32, interval = 132.50 */
145 /* 137 */ 0xad6d0bf9, /* cps = 2776.00, nrm = 32, interval = 127.12 */
146 /* 138 */ 0xada70bd0, /* cps = 2892.00, nrm = 32, interval = 122.00 */
147 /* 139 */ 0xade30ba9, /* cps = 3012.00, nrm = 32, interval = 117.12 */
148 /* 140 */ 0xae230b83, /* cps = 3140.00, nrm = 32, interval = 112.38 */
149 /* 141 */ 0xae650b5f, /* cps = 3272.00, nrm = 32, interval = 107.88 */
150 /* 142 */ 0xaeab0b3c, /* cps = 3412.00, nrm = 32, interval = 103.50 */
151 /* 143 */ 0xaef10b1b, /* cps = 3552.00, nrm = 32, interval = 99.38 */
152 /* 144 */ 0xaf3b0afb, /* cps = 3700.00, nrm = 32, interval = 95.38 */
153 /* 145 */ 0xaf8b0adc, /* cps = 3860.00, nrm = 32, interval = 91.50 */
154 /* 146 */ 0xafd90abf, /* cps = 4016.00, nrm = 32, interval = 87.88 */
155 /* 147 */ 0xb0170aa3, /* cps = 4184.00, nrm = 32, interval = 84.38 */
156 /* 148 */ 0xb0430a87, /* cps = 4360.00, nrm = 32, interval = 80.88 */
157 /* 149 */ 0xb0710a6d, /* cps = 4544.00, nrm = 32, interval = 77.62 */
158 /* 150 */ 0xb0a10a54, /* cps = 4736.00, nrm = 32, interval = 74.50 */
159 /* 151 */ 0xb0d30a3c, /* cps = 4936.00, nrm = 32, interval = 71.50 */
160 /* 152 */ 0xb1070a25, /* cps = 5144.00, nrm = 32, interval = 68.62 */
161 /* 153 */ 0xb13d0a0f, /* cps = 5360.00, nrm = 32, interval = 65.88 */
162 /* 154 */ 0xb17507f4, /* cps = 5584.00, nrm = 32, interval = 63.25 */
163 /* 155 */ 0xb1af07cb, /* cps = 5816.00, nrm = 32, interval = 60.69 */
164 /* 156 */ 0xb1eb07a4, /* cps = 6056.00, nrm = 32, interval = 58.25 */
165 /* 157 */ 0xb22b077f, /* cps = 6312.00, nrm = 32, interval = 55.94 */
166 /* 158 */ 0xb26d075b, /* cps = 6576.00, nrm = 32, interval = 53.69 */
167 /* 159 */ 0xb2b30738, /* cps = 6856.00, nrm = 32, interval = 51.50 */
168 /* 160 */ 0xb2fb0717, /* cps = 7144.00, nrm = 32, interval = 49.44 */
169 /* 161 */ 0xb34506f7, /* cps = 7440.00, nrm = 32, interval = 47.44 */
170 /* 162 */ 0xb39306d9, /* cps = 7752.00, nrm = 32, interval = 45.56 */
171 /* 163 */ 0xb3e506bb, /* cps = 8080.00, nrm = 32, interval = 43.69 */
172 /* 164 */ 0xb41d069f, /* cps = 8416.00, nrm = 32, interval = 41.94 */
173 /* 165 */ 0xb4490684, /* cps = 8768.00, nrm = 32, interval = 40.25 */
174 /* 166 */ 0xb477066a, /* cps = 9136.00, nrm = 32, interval = 38.62 */
175 /* 167 */ 0xb4a70651, /* cps = 9520.00, nrm = 32, interval = 37.06 */
176 /* 168 */ 0xb4d90639, /* cps = 9920.00, nrm = 32, interval = 35.56 */
177 /* 169 */ 0xb50d0622, /* cps = 10336.00, nrm = 32, interval = 34.12 */
178 /* 170 */ 0xb545060c, /* cps = 10784.00, nrm = 32, interval = 32.75 */
179 /* 171 */ 0xb57b03ef, /* cps = 11216.00, nrm = 32, interval = 31.47 */
180 /* 172 */ 0xb5b503c7, /* cps = 11680.00, nrm = 32, interval = 30.22 */
181 /* 173 */ 0xb5f303a0, /* cps = 12176.00, nrm = 32, interval = 29.00 */
182 /* 174 */ 0xb633037a, /* cps = 12688.00, nrm = 32, interval = 27.81 */
183 /* 175 */ 0xb6750357, /* cps = 13216.00, nrm = 32, interval = 26.72 */
184 /* 176 */ 0xb6bb0334, /* cps = 13776.00, nrm = 32, interval = 25.62 */
185 /* 177 */ 0xb7030313, /* cps = 14352.00, nrm = 32, interval = 24.59 */
186 /* 178 */ 0xb74f02f3, /* cps = 14960.00, nrm = 32, interval = 23.59 */
187 /* 179 */ 0xb79d02d5, /* cps = 15584.00, nrm = 32, interval = 22.66 */
188 /* 180 */ 0xb7ed02b8, /* cps = 16224.00, nrm = 32, interval = 21.75 */
189 /* 181 */ 0xb821029c, /* cps = 16896.00, nrm = 32, interval = 20.88 */
190 /* 182 */ 0xb84f0281, /* cps = 17632.00, nrm = 32, interval = 20.03 */
191 /* 183 */ 0xb87d0267, /* cps = 18368.00, nrm = 32, interval = 19.22 */
192 /* 184 */ 0xb8ad024e, /* cps = 19136.00, nrm = 32, interval = 18.44 */
193 /* 185 */ 0xb8dd0237, /* cps = 19904.00, nrm = 32, interval = 17.72 */
194 /* 186 */ 0xb9130220, /* cps = 20768.00, nrm = 32, interval = 17.00 */
195 /* 187 */ 0xb949020a, /* cps = 21632.00, nrm = 32, interval = 16.31 */
196 /* 188 */ 0xb98301f5, /* cps = 22560.00, nrm = 32, interval = 15.66 */
197 /* 189 */ 0xb9bd01e1, /* cps = 23488.00, nrm = 32, interval = 15.03 */
198 /* 190 */ 0xb9fd01cd, /* cps = 24512.00, nrm = 32, interval = 14.41 */
199 /* 191 */ 0xba3b01bb, /* cps = 25504.00, nrm = 32, interval = 13.84 */
200 /* 192 */ 0xba7f01a9, /* cps = 26592.00, nrm = 32, interval = 13.28 */
201 /* 193 */ 0xbac30198, /* cps = 27680.00, nrm = 32, interval = 12.75 */
202 /* 194 */ 0xbb0f0187, /* cps = 28896.00, nrm = 32, interval = 12.22 */
203 /* 195 */ 0xbb570178, /* cps = 30048.00, nrm = 32, interval = 11.75 */
204 /* 196 */ 0xbbab0168, /* cps = 31392.00, nrm = 32, interval = 11.25 */
205 /* 197 */ 0xbbf9015a, /* cps = 32640.00, nrm = 32, interval = 10.81 */
206 /* 198 */ 0xbc27014c, /* cps = 33984.00, nrm = 32, interval = 10.38 */
207 /* 199 */ 0xbc53013f, /* cps = 35392.00, nrm = 32, interval = 9.97 */
208 /* 200 */ 0xbc830132, /* cps = 36928.00, nrm = 32, interval = 9.56 */
209 /* 201 */ 0xbcb50125, /* cps = 38528.00, nrm = 32, interval = 9.16 */
210 /* 202 */ 0xbce5011a, /* cps = 40064.00, nrm = 32, interval = 8.81 */
211 /* 203 */ 0xbd1d010e, /* cps = 41856.00, nrm = 32, interval = 8.44 */
212 /* 204 */ 0xbd530103, /* cps = 43584.00, nrm = 32, interval = 8.09 */
213 /* 205 */ 0xbd8b00f9, /* cps = 45376.00, nrm = 32, interval = 7.78 */
214 /* 206 */ 0xbdc500ef, /* cps = 47232.00, nrm = 32, interval = 7.47 */
215 /* 207 */ 0xbe0700e5, /* cps = 49344.00, nrm = 32, interval = 7.16 */
216 /* 208 */ 0xbe4500dc, /* cps = 51328.00, nrm = 32, interval = 6.88 */
217 /* 209 */ 0xbe8900d3, /* cps = 53504.00, nrm = 32, interval = 6.59 */
218 /* 210 */ 0xbecb00cb, /* cps = 55616.00, nrm = 32, interval = 6.34 */
219 /* 211 */ 0xbf1d00c2, /* cps = 58240.00, nrm = 32, interval = 6.06 */
220 /* 212 */ 0xbf6100bb, /* cps = 60416.00, nrm = 32, interval = 5.84 */
221 /* 213 */ 0xbfb500b3, /* cps = 63104.00, nrm = 32, interval = 5.59 */
222 /* 214 */ 0xc00300ac, /* cps = 65664.00, nrm = 32, interval = 5.38 */
223 /* 215 */ 0xc02f00a5, /* cps = 68480.00, nrm = 32, interval = 5.16 */
224 /* 216 */ 0xc05d009e, /* cps = 71424.00, nrm = 32, interval = 4.94 */
225 /* 217 */ 0xc0890098, /* cps = 74240.00, nrm = 32, interval = 4.75 */
226 /* 218 */ 0xc0b90092, /* cps = 77312.00, nrm = 32, interval = 4.56 */
227 /* 219 */ 0xc0ed008c, /* cps = 80640.00, nrm = 32, interval = 4.38 */
228 /* 220 */ 0xc1250086, /* cps = 84224.00, nrm = 32, interval = 4.19 */
229 /* 221 */ 0xc1590081, /* cps = 87552.00, nrm = 32, interval = 4.03 */
230 /* 222 */ 0xc191007c, /* cps = 91136.00, nrm = 32, interval = 3.88 */
231 /* 223 */ 0xc1cd0077, /* cps = 94976.00, nrm = 32, interval = 3.72 */
232 /* 224 */ 0xc20d0072, /* cps = 99072.00, nrm = 32, interval = 3.56 */
233 /* 225 */ 0xc255006d, /* cps = 103680.00, nrm = 32, interval = 3.41 */
234 /* 226 */ 0xc2910069, /* cps = 107520.00, nrm = 32, interval = 3.28 */
235 /* 227 */ 0xc2d50065, /* cps = 111872.00, nrm = 32, interval = 3.16 */
236 /* 228 */ 0xc32f0060, /* cps = 117632.00, nrm = 32, interval = 3.00 */
237 /* 229 */ 0xc36b005d, /* cps = 121472.00, nrm = 32, interval = 2.91 */
238 /* 230 */ 0xc3c10059, /* cps = 126976.00, nrm = 32, interval = 2.78 */
239 /* 231 */ 0xc40f0055, /* cps = 132864.00, nrm = 32, interval = 2.66 */
240 /* 232 */ 0xc4350052, /* cps = 137728.00, nrm = 32, interval = 2.56 */
241 /* 233 */ 0xc46d004e, /* cps = 144896.00, nrm = 32, interval = 2.44 */
242 /* 234 */ 0xc499004b, /* cps = 150528.00, nrm = 32, interval = 2.34 */
243 /* 235 */ 0xc4cb0048, /* cps = 156928.00, nrm = 32, interval = 2.25 */
244 /* 236 */ 0xc4ff0045, /* cps = 163584.00, nrm = 32, interval = 2.16 */
245 /* 237 */ 0xc5250043, /* cps = 168448.00, nrm = 32, interval = 2.09 */
246 /* 238 */ 0xc5630040, /* cps = 176384.00, nrm = 32, interval = 2.00 */
247 /* 239 */ 0xc5a7003d, /* cps = 185088.00, nrm = 32, interval = 1.91 */
248 /* 240 */ 0xc5d9003b, /* cps = 191488.00, nrm = 32, interval = 1.84 */
249 /* 241 */ 0xc6290038, /* cps = 201728.00, nrm = 32, interval = 1.75 */
250 /* 242 */ 0xc6630036, /* cps = 209152.00, nrm = 32, interval = 1.69 */
251 /* 243 */ 0xc6a30034, /* cps = 217344.00, nrm = 32, interval = 1.62 */
252 /* 244 */ 0xc6e70032, /* cps = 226048.00, nrm = 32, interval = 1.56 */
253 /* 245 */ 0xc72f0030, /* cps = 235264.00, nrm = 32, interval = 1.50 */
254 /* 246 */ 0xc77f002e, /* cps = 245504.00, nrm = 32, interval = 1.44 */
255 /* 247 */ 0xc7d7002c, /* cps = 256768.00, nrm = 32, interval = 1.38 */
256 /* 248 */ 0xc81b002a, /* cps = 268800.00, nrm = 32, interval = 1.31 */
257 /* 249 */ 0xc84f0028, /* cps = 282112.00, nrm = 32, interval = 1.25 */
258 /* 250 */ 0xc86d0027, /* cps = 289792.00, nrm = 32, interval = 1.22 */
259 /* 251 */ 0xc8a90025, /* cps = 305152.00, nrm = 32, interval = 1.16 */
260 /* 252 */ 0xc8cb0024, /* cps = 313856.00, nrm = 32, interval = 1.12 */
261 /* 253 */ 0xc9130022, /* cps = 332288.00, nrm = 32, interval = 1.06 */
262 /* 254 */ 0xc9390021, /* cps = 342016.00, nrm = 32, interval = 1.03 */
263 /* 255 */ 0xc9630020, /* cps = 352768.00, nrm = 32, interval = 1.00 */
264 };
266 static unsigned char rate_to_log[] =
267 {
268 /* 1.00 => 0 */ 0x00, /* => 10.02 */
269 /* 1.06 => 0 */ 0x00, /* => 10.02 */
270 /* 1.12 => 0 */ 0x00, /* => 10.02 */
271 /* 1.19 => 0 */ 0x00, /* => 10.02 */
272 /* 1.25 => 0 */ 0x00, /* => 10.02 */
273 /* 1.31 => 0 */ 0x00, /* => 10.02 */
274 /* 1.38 => 0 */ 0x00, /* => 10.02 */
275 /* 1.44 => 0 */ 0x00, /* => 10.02 */
276 /* 1.50 => 0 */ 0x00, /* => 10.02 */
277 /* 1.56 => 0 */ 0x00, /* => 10.02 */
278 /* 1.62 => 0 */ 0x00, /* => 10.02 */
279 /* 1.69 => 0 */ 0x00, /* => 10.02 */
280 /* 1.75 => 0 */ 0x00, /* => 10.02 */
281 /* 1.81 => 0 */ 0x00, /* => 10.02 */
282 /* 1.88 => 0 */ 0x00, /* => 10.02 */
283 /* 1.94 => 0 */ 0x00, /* => 10.02 */
284 /* 2.00 => 0 */ 0x00, /* => 10.02 */
285 /* 2.12 => 0 */ 0x00, /* => 10.02 */
286 /* 2.25 => 0 */ 0x00, /* => 10.02 */
287 /* 2.38 => 0 */ 0x00, /* => 10.02 */
288 /* 2.50 => 0 */ 0x00, /* => 10.02 */
289 /* 2.62 => 0 */ 0x00, /* => 10.02 */
290 /* 2.75 => 0 */ 0x00, /* => 10.02 */
291 /* 2.88 => 0 */ 0x00, /* => 10.02 */
292 /* 3.00 => 0 */ 0x00, /* => 10.02 */
293 /* 3.12 => 0 */ 0x00, /* => 10.02 */
294 /* 3.25 => 0 */ 0x00, /* => 10.02 */
295 /* 3.38 => 0 */ 0x00, /* => 10.02 */
296 /* 3.50 => 0 */ 0x00, /* => 10.02 */
297 /* 3.62 => 0 */ 0x00, /* => 10.02 */
298 /* 3.75 => 0 */ 0x00, /* => 10.02 */
299 /* 3.88 => 0 */ 0x00, /* => 10.02 */
300 /* 4.00 => 0 */ 0x00, /* => 10.02 */
301 /* 4.25 => 0 */ 0x00, /* => 10.02 */
302 /* 4.50 => 0 */ 0x00, /* => 10.02 */
303 /* 4.75 => 0 */ 0x00, /* => 10.02 */
304 /* 5.00 => 0 */ 0x00, /* => 10.02 */
305 /* 5.25 => 0 */ 0x00, /* => 10.02 */
306 /* 5.50 => 0 */ 0x00, /* => 10.02 */
307 /* 5.75 => 0 */ 0x00, /* => 10.02 */
308 /* 6.00 => 0 */ 0x00, /* => 10.02 */
309 /* 6.25 => 0 */ 0x00, /* => 10.02 */
310 /* 6.50 => 0 */ 0x00, /* => 10.02 */
311 /* 6.75 => 0 */ 0x00, /* => 10.02 */
312 /* 7.00 => 0 */ 0x00, /* => 10.02 */
313 /* 7.25 => 0 */ 0x00, /* => 10.02 */
314 /* 7.50 => 0 */ 0x00, /* => 10.02 */
315 /* 7.75 => 0 */ 0x00, /* => 10.02 */
316 /* 8.00 => 0 */ 0x00, /* => 10.02 */
317 /* 8.50 => 0 */ 0x00, /* => 10.02 */
318 /* 9.00 => 0 */ 0x00, /* => 10.02 */
319 /* 9.50 => 0 */ 0x00, /* => 10.02 */
320 /* 10.00 => 0 */ 0x00, /* => 10.02 */
321 /* 10.50 => 1 */ 0x01, /* => 10.42 */
322 /* 11.00 => 2 */ 0x02, /* => 10.86 */
323 /* 11.50 => 3 */ 0x03, /* => 11.31 */
324 /* 12.00 => 4 */ 0x04, /* => 11.78 */
325 /* 12.50 => 5 */ 0x05, /* => 12.28 */
326 /* 13.00 => 6 */ 0x06, /* => 12.80 */
327 /* 13.50 => 7 */ 0x07, /* => 13.33 */
328 /* 14.00 => 8 */ 0x08, /* => 13.89 */
329 /* 14.50 => 9 */ 0x09, /* => 14.48 */
330 /* 15.00 => 9 */ 0x09, /* => 14.48 */
331 /* 15.50 => 10 */ 0x0a, /* => 15.08 */
332 /* 16.00 => 11 */ 0x0b, /* => 15.72 */
333 /* 17.00 => 12 */ 0x0c, /* => 16.38 */
334 /* 18.00 => 14 */ 0x0e, /* => 17.75 */
335 /* 19.00 => 15 */ 0x0f, /* => 18.50 */
336 /* 20.00 => 16 */ 0x10, /* => 19.28 */
337 /* 21.00 => 18 */ 0x12, /* => 20.94 */
338 /* 22.00 => 19 */ 0x13, /* => 21.81 */
339 /* 23.00 => 20 */ 0x14, /* => 22.75 */
340 /* 24.00 => 21 */ 0x15, /* => 23.69 */
341 /* 25.00 => 22 */ 0x16, /* => 24.69 */
342 /* 26.00 => 23 */ 0x17, /* => 25.72 */
343 /* 27.00 => 24 */ 0x18, /* => 26.81 */
344 /* 28.00 => 25 */ 0x19, /* => 27.94 */
345 /* 29.00 => 25 */ 0x19, /* => 27.94 */
346 /* 30.00 => 26 */ 0x1a, /* => 29.09 */
347 /* 31.00 => 27 */ 0x1b, /* => 30.31 */
348 /* 32.00 => 28 */ 0x1c, /* => 31.56 */
349 /* 34.00 => 29 */ 0x1d, /* => 32.94 */
350 /* 36.00 => 31 */ 0x1f, /* => 35.69 */
351 /* 38.00 => 32 */ 0x20, /* => 37.19 */
352 /* 40.00 => 33 */ 0x21, /* => 38.75 */
353 /* 42.00 => 34 */ 0x22, /* => 40.38 */
354 /* 44.00 => 36 */ 0x24, /* => 43.88 */
355 /* 46.00 => 37 */ 0x25, /* => 45.69 */
356 /* 48.00 => 38 */ 0x26, /* => 47.62 */
357 /* 50.00 => 39 */ 0x27, /* => 49.62 */
358 /* 52.00 => 40 */ 0x28, /* => 51.69 */
359 /* 54.00 => 41 */ 0x29, /* => 53.88 */
360 /* 56.00 => 41 */ 0x29, /* => 53.88 */
361 /* 58.00 => 42 */ 0x2a, /* => 56.12 */
362 /* 60.00 => 43 */ 0x2b, /* => 58.44 */
363 /* 62.00 => 44 */ 0x2c, /* => 60.94 */
364 /* 64.00 => 45 */ 0x2d, /* => 63.50 */
365 /* 68.00 => 46 */ 0x2e, /* => 66.12 */
366 /* 72.00 => 48 */ 0x30, /* => 71.88 */
367 /* 76.00 => 49 */ 0x31, /* => 74.75 */
368 /* 80.00 => 50 */ 0x32, /* => 78.00 */
369 /* 84.00 => 51 */ 0x33, /* => 81.25 */
370 /* 88.00 => 52 */ 0x34, /* => 84.62 */
371 /* 92.00 => 54 */ 0x36, /* => 91.88 */
372 /* 96.00 => 55 */ 0x37, /* => 95.75 */
373 /* 100.00 => 56 */ 0x38, /* => 99.75 */
374 /* 104.00 => 56 */ 0x38, /* => 99.75 */
375 /* 108.00 => 57 */ 0x39, /* => 104.00 */
376 /* 112.00 => 58 */ 0x3a, /* => 108.25 */
377 /* 116.00 => 59 */ 0x3b, /* => 112.88 */
378 /* 120.00 => 60 */ 0x3c, /* => 117.50 */
379 /* 124.00 => 61 */ 0x3d, /* => 122.38 */
380 /* 128.00 => 62 */ 0x3e, /* => 127.50 */
381 /* 136.00 => 63 */ 0x3f, /* => 132.75 */
382 /* 144.00 => 64 */ 0x40, /* => 138.50 */
383 /* 152.00 => 66 */ 0x42, /* => 150.25 */
384 /* 160.00 => 67 */ 0x43, /* => 156.75 */
385 /* 168.00 => 68 */ 0x44, /* => 163.50 */
386 /* 176.00 => 69 */ 0x45, /* => 170.00 */
387 /* 184.00 => 70 */ 0x46, /* => 177.25 */
388 /* 192.00 => 71 */ 0x47, /* => 184.50 */
389 /* 200.00 => 72 */ 0x48, /* => 192.25 */
390 /* 208.00 => 73 */ 0x49, /* => 200.25 */
391 /* 216.00 => 74 */ 0x4a, /* => 208.75 */
392 /* 224.00 => 75 */ 0x4b, /* => 217.75 */
393 /* 232.00 => 76 */ 0x4c, /* => 226.75 */
394 /* 240.00 => 77 */ 0x4d, /* => 236.25 */
395 /* 248.00 => 78 */ 0x4e, /* => 246.25 */
396 /* 256.00 => 78 */ 0x4e, /* => 246.25 */
397 /* 272.00 => 80 */ 0x50, /* => 267.50 */
398 /* 288.00 => 81 */ 0x51, /* => 278.50 */
399 /* 304.00 => 83 */ 0x53, /* => 302.00 */
400 /* 320.00 => 84 */ 0x54, /* => 315.00 */
401 /* 336.00 => 85 */ 0x55, /* => 328.00 */
402 /* 352.00 => 86 */ 0x56, /* => 342.00 */
403 /* 368.00 => 87 */ 0x57, /* => 356.00 */
404 /* 384.00 => 88 */ 0x58, /* => 371.00 */
405 /* 400.00 => 89 */ 0x59, /* => 386.50 */
406 /* 416.00 => 90 */ 0x5a, /* => 403.00 */
407 /* 432.00 => 91 */ 0x5b, /* => 419.50 */
408 /* 448.00 => 92 */ 0x5c, /* => 437.50 */
409 /* 464.00 => 93 */ 0x5d, /* => 455.50 */
410 /* 480.00 => 94 */ 0x5e, /* => 475.00 */
411 /* 496.00 => 95 */ 0x5f, /* => 495.00 */
412 /* 512.00 => 95 */ 0x5f, /* => 495.00 */
413 /* 544.00 => 97 */ 0x61, /* => 537.00 */
414 /* 576.00 => 98 */ 0x62, /* => 559.00 */
415 /* 608.00 => 100 */ 0x64, /* => 607.00 */
416 /* 640.00 => 101 */ 0x65, /* => 632.00 */
417 /* 672.00 => 102 */ 0x66, /* => 660.00 */
418 /* 704.00 => 103 */ 0x67, /* => 687.00 */
419 /* 736.00 => 104 */ 0x68, /* => 716.00 */
420 /* 768.00 => 105 */ 0x69, /* => 746.00 */
421 /* 800.00 => 106 */ 0x6a, /* => 777.00 */
422 /* 832.00 => 107 */ 0x6b, /* => 810.00 */
423 /* 864.00 => 108 */ 0x6c, /* => 843.00 */
424 /* 896.00 => 109 */ 0x6d, /* => 879.00 */
425 /* 928.00 => 110 */ 0x6e, /* => 916.00 */
426 /* 960.00 => 111 */ 0x6f, /* => 954.00 */
427 /* 992.00 => 111 */ 0x6f, /* => 954.00 */
428 /* 1024.00 => 112 */ 0x70, /* => 994.00 */
429 /* 1088.00 => 114 */ 0x72, /* => 1080.00 */
430 /* 1152.00 => 115 */ 0x73, /* => 1124.00 */
431 /* 1216.00 => 116 */ 0x74, /* => 1172.00 */
432 /* 1280.00 => 118 */ 0x76, /* => 1272.00 */
433 /* 1344.00 => 119 */ 0x77, /* => 1326.00 */
434 /* 1408.00 => 120 */ 0x78, /* => 1382.00 */
435 /* 1472.00 => 121 */ 0x79, /* => 1440.00 */
436 /* 1536.00 => 122 */ 0x7a, /* => 1498.00 */
437 /* 1600.00 => 123 */ 0x7b, /* => 1562.00 */
438 /* 1664.00 => 124 */ 0x7c, /* => 1628.00 */
439 /* 1728.00 => 125 */ 0x7d, /* => 1696.00 */
440 /* 1792.00 => 126 */ 0x7e, /* => 1768.00 */
441 /* 1856.00 => 127 */ 0x7f, /* => 1842.00 */
442 /* 1920.00 => 128 */ 0x80, /* => 1918.00 */
443 /* 1984.00 => 128 */ 0x80, /* => 1918.00 */
444 /* 2048.00 => 129 */ 0x81, /* => 2000.00 */
445 /* 2176.00 => 131 */ 0x83, /* => 2168.00 */
446 /* 2304.00 => 132 */ 0x84, /* => 2264.00 */
447 /* 2432.00 => 133 */ 0x85, /* => 2356.00 */
448 /* 2560.00 => 135 */ 0x87, /* => 2556.00 */
449 /* 2688.00 => 136 */ 0x88, /* => 2664.00 */
450 /* 2816.00 => 137 */ 0x89, /* => 2776.00 */
451 /* 2944.00 => 138 */ 0x8a, /* => 2892.00 */
452 /* 3072.00 => 139 */ 0x8b, /* => 3012.00 */
453 /* 3200.00 => 140 */ 0x8c, /* => 3140.00 */
454 /* 3328.00 => 141 */ 0x8d, /* => 3272.00 */
455 /* 3456.00 => 142 */ 0x8e, /* => 3412.00 */
456 /* 3584.00 => 143 */ 0x8f, /* => 3552.00 */
457 /* 3712.00 => 144 */ 0x90, /* => 3700.00 */
458 /* 3840.00 => 144 */ 0x90, /* => 3700.00 */
459 /* 3968.00 => 145 */ 0x91, /* => 3860.00 */
460 /* 4096.00 => 146 */ 0x92, /* => 4016.00 */
461 /* 4352.00 => 147 */ 0x93, /* => 4184.00 */
462 /* 4608.00 => 149 */ 0x95, /* => 4544.00 */
463 /* 4864.00 => 150 */ 0x96, /* => 4736.00 */
464 /* 5120.00 => 151 */ 0x97, /* => 4936.00 */
465 /* 5376.00 => 153 */ 0x99, /* => 5360.00 */
466 /* 5632.00 => 154 */ 0x9a, /* => 5584.00 */
467 /* 5888.00 => 155 */ 0x9b, /* => 5816.00 */
468 /* 6144.00 => 156 */ 0x9c, /* => 6056.00 */
469 /* 6400.00 => 157 */ 0x9d, /* => 6312.00 */
470 /* 6656.00 => 158 */ 0x9e, /* => 6576.00 */
471 /* 6912.00 => 159 */ 0x9f, /* => 6856.00 */
472 /* 7168.00 => 160 */ 0xa0, /* => 7144.00 */
473 /* 7424.00 => 160 */ 0xa0, /* => 7144.00 */
474 /* 7680.00 => 161 */ 0xa1, /* => 7440.00 */
475 /* 7936.00 => 162 */ 0xa2, /* => 7752.00 */
476 /* 8192.00 => 163 */ 0xa3, /* => 8080.00 */
477 /* 8704.00 => 164 */ 0xa4, /* => 8416.00 */
478 /* 9216.00 => 166 */ 0xa6, /* => 9136.00 */
479 /* 9728.00 => 167 */ 0xa7, /* => 9520.00 */
480 /* 10240.00 => 168 */ 0xa8, /* => 9920.00 */
481 /* 10752.00 => 169 */ 0xa9, /* => 10336.00 */
482 /* 11264.00 => 171 */ 0xab, /* => 11216.00 */
483 /* 11776.00 => 172 */ 0xac, /* => 11680.00 */
484 /* 12288.00 => 173 */ 0xad, /* => 12176.00 */
485 /* 12800.00 => 174 */ 0xae, /* => 12688.00 */
486 /* 13312.00 => 175 */ 0xaf, /* => 13216.00 */
487 /* 13824.00 => 176 */ 0xb0, /* => 13776.00 */
488 /* 14336.00 => 176 */ 0xb0, /* => 13776.00 */
489 /* 14848.00 => 177 */ 0xb1, /* => 14352.00 */
490 /* 15360.00 => 178 */ 0xb2, /* => 14960.00 */
491 /* 15872.00 => 179 */ 0xb3, /* => 15584.00 */
492 /* 16384.00 => 180 */ 0xb4, /* => 16224.00 */
493 /* 17408.00 => 181 */ 0xb5, /* => 16896.00 */
494 /* 18432.00 => 183 */ 0xb7, /* => 18368.00 */
495 /* 19456.00 => 184 */ 0xb8, /* => 19136.00 */
496 /* 20480.00 => 185 */ 0xb9, /* => 19904.00 */
497 /* 21504.00 => 186 */ 0xba, /* => 20768.00 */
498 /* 22528.00 => 187 */ 0xbb, /* => 21632.00 */
499 /* 23552.00 => 189 */ 0xbd, /* => 23488.00 */
500 /* 24576.00 => 190 */ 0xbe, /* => 24512.00 */
501 /* 25600.00 => 191 */ 0xbf, /* => 25504.00 */
502 /* 26624.00 => 192 */ 0xc0, /* => 26592.00 */
503 /* 27648.00 => 192 */ 0xc0, /* => 26592.00 */
504 /* 28672.00 => 193 */ 0xc1, /* => 27680.00 */
505 /* 29696.00 => 194 */ 0xc2, /* => 28896.00 */
506 /* 30720.00 => 195 */ 0xc3, /* => 30048.00 */
507 /* 31744.00 => 196 */ 0xc4, /* => 31392.00 */
508 /* 32768.00 => 197 */ 0xc5, /* => 32640.00 */
509 /* 34816.00 => 198 */ 0xc6, /* => 33984.00 */
510 /* 36864.00 => 199 */ 0xc7, /* => 35392.00 */
511 /* 38912.00 => 201 */ 0xc9, /* => 38528.00 */
512 /* 40960.00 => 202 */ 0xca, /* => 40064.00 */
513 /* 43008.00 => 203 */ 0xcb, /* => 41856.00 */
514 /* 45056.00 => 204 */ 0xcc, /* => 43584.00 */
515 /* 47104.00 => 205 */ 0xcd, /* => 45376.00 */
516 /* 49152.00 => 206 */ 0xce, /* => 47232.00 */
517 /* 51200.00 => 207 */ 0xcf, /* => 49344.00 */
518 /* 53248.00 => 208 */ 0xd0, /* => 51328.00 */
519 /* 55296.00 => 209 */ 0xd1, /* => 53504.00 */
520 /* 57344.00 => 210 */ 0xd2, /* => 55616.00 */
521 /* 59392.00 => 211 */ 0xd3, /* => 58240.00 */
522 /* 61440.00 => 212 */ 0xd4, /* => 60416.00 */
523 /* 63488.00 => 213 */ 0xd5, /* => 63104.00 */
524 /* 65536.00 => 213 */ 0xd5, /* => 63104.00 */
525 /* 69632.00 => 215 */ 0xd7, /* => 68480.00 */
526 /* 73728.00 => 216 */ 0xd8, /* => 71424.00 */
527 /* 77824.00 => 218 */ 0xda, /* => 77312.00 */
528 /* 81920.00 => 219 */ 0xdb, /* => 80640.00 */
529 /* 86016.00 => 220 */ 0xdc, /* => 84224.00 */
530 /* 90112.00 => 221 */ 0xdd, /* => 87552.00 */
531 /* 94208.00 => 222 */ 0xde, /* => 91136.00 */
532 /* 98304.00 => 223 */ 0xdf, /* => 94976.00 */
533 /* 102400.00 => 224 */ 0xe0, /* => 99072.00 */
534 /* 106496.00 => 225 */ 0xe1, /* => 103680.00 */
535 /* 110592.00 => 226 */ 0xe2, /* => 107520.00 */
536 /* 114688.00 => 227 */ 0xe3, /* => 111872.00 */
537 /* 118784.00 => 228 */ 0xe4, /* => 117632.00 */
538 /* 122880.00 => 229 */ 0xe5, /* => 121472.00 */
539 /* 126976.00 => 229 */ 0xe5, /* => 121472.00 */
540 /* 131072.00 => 230 */ 0xe6, /* => 126976.00 */
541 /* 139264.00 => 232 */ 0xe8, /* => 137728.00 */
542 /* 147456.00 => 233 */ 0xe9, /* => 144896.00 */
543 /* 155648.00 => 234 */ 0xea, /* => 150528.00 */
544 /* 163840.00 => 236 */ 0xec, /* => 163584.00 */
545 /* 172032.00 => 237 */ 0xed, /* => 168448.00 */
546 /* 180224.00 => 238 */ 0xee, /* => 176384.00 */
547 /* 188416.00 => 239 */ 0xef, /* => 185088.00 */
548 /* 196608.00 => 240 */ 0xf0, /* => 191488.00 */
549 /* 204800.00 => 241 */ 0xf1, /* => 201728.00 */
550 /* 212992.00 => 242 */ 0xf2, /* => 209152.00 */
551 /* 221184.00 => 243 */ 0xf3, /* => 217344.00 */
552 /* 229376.00 => 244 */ 0xf4, /* => 226048.00 */
553 /* 237568.00 => 245 */ 0xf5, /* => 235264.00 */
554 /* 245760.00 => 246 */ 0xf6, /* => 245504.00 */
555 /* 253952.00 => 246 */ 0xf6, /* => 245504.00 */
556 /* 262144.00 => 247 */ 0xf7, /* => 256768.00 */
557 /* 278528.00 => 248 */ 0xf8, /* => 268800.00 */
558 /* 294912.00 => 250 */ 0xfa, /* => 289792.00 */
559 /* 311296.00 => 251 */ 0xfb, /* => 305152.00 */
560 /* 327680.00 => 252 */ 0xfc, /* => 313856.00 */
561 /* 344064.00 => 254 */ 0xfe, /* => 342016.00 */
562 /* 360448.00 => 255 */ 0xff, /* => 352768.00 */
563 /* 376832.00 => 255 */ 0xff, /* => 352768.00 */
564 /* 393216.00 => 255 */ 0xff, /* => 352768.00 */
565 /* 409600.00 => 255 */ 0xff, /* => 352768.00 */
566 /* 425984.00 => 255 */ 0xff, /* => 352768.00 */
567 /* 442368.00 => 255 */ 0xff, /* => 352768.00 */
568 /* 458752.00 => 255 */ 0xff, /* => 352768.00 */
569 /* 475136.00 => 255 */ 0xff, /* => 352768.00 */
570 /* 491520.00 => 255 */ 0xff, /* => 352768.00 */
571 /* 507904.00 => 255 */ 0xff, /* => 352768.00 */
572 /* 524288.00 => 255 */ 0xff, /* => 352768.00 */
573 /* 557056.00 => 255 */ 0xff, /* => 352768.00 */
574 /* 589824.00 => 255 */ 0xff, /* => 352768.00 */
575 /* 622592.00 => 255 */ 0xff, /* => 352768.00 */
576 /* 655360.00 => 255 */ 0xff, /* => 352768.00 */
577 /* 688128.00 => 255 */ 0xff, /* => 352768.00 */
578 /* 720896.00 => 255 */ 0xff, /* => 352768.00 */
579 /* 753664.00 => 255 */ 0xff, /* => 352768.00 */
580 /* 786432.00 => 255 */ 0xff, /* => 352768.00 */
581 /* 819200.00 => 255 */ 0xff, /* => 352768.00 */
582 /* 851968.00 => 255 */ 0xff, /* => 352768.00 */
583 /* 884736.00 => 255 */ 0xff, /* => 352768.00 */
584 /* 917504.00 => 255 */ 0xff, /* => 352768.00 */
585 /* 950272.00 => 255 */ 0xff, /* => 352768.00 */
586 /* 983040.00 => 255 */ 0xff, /* => 352768.00 */
587 /* 1015808.00 => 255 */ 0xff, /* => 352768.00 */
588 /* 1048576.00 => 255 */ 0xff, /* => 352768.00 */
589 /* 1114112.00 => 255 */ 0xff, /* => 352768.00 */
590 /* 1179648.00 => 255 */ 0xff, /* => 352768.00 */
591 /* 1245184.00 => 255 */ 0xff, /* => 352768.00 */
592 /* 1310720.00 => 255 */ 0xff, /* => 352768.00 */
593 /* 1376256.00 => 255 */ 0xff, /* => 352768.00 */
594 /* 1441792.00 => 255 */ 0xff, /* => 352768.00 */
595 /* 1507328.00 => 255 */ 0xff, /* => 352768.00 */
596 /* 1572864.00 => 255 */ 0xff, /* => 352768.00 */
597 /* 1638400.00 => 255 */ 0xff, /* => 352768.00 */
598 /* 1703936.00 => 255 */ 0xff, /* => 352768.00 */
599 /* 1769472.00 => 255 */ 0xff, /* => 352768.00 */
600 /* 1835008.00 => 255 */ 0xff, /* => 352768.00 */
601 /* 1900544.00 => 255 */ 0xff, /* => 352768.00 */
602 /* 1966080.00 => 255 */ 0xff, /* => 352768.00 */
603 /* 2031616.00 => 255 */ 0xff, /* => 352768.00 */
604 /* 2097152.00 => 255 */ 0xff, /* => 352768.00 */
605 /* 2228224.00 => 255 */ 0xff, /* => 352768.00 */
606 /* 2359296.00 => 255 */ 0xff, /* => 352768.00 */
607 /* 2490368.00 => 255 */ 0xff, /* => 352768.00 */
608 /* 2621440.00 => 255 */ 0xff, /* => 352768.00 */
609 /* 2752512.00 => 255 */ 0xff, /* => 352768.00 */
610 /* 2883584.00 => 255 */ 0xff, /* => 352768.00 */
611 /* 3014656.00 => 255 */ 0xff, /* => 352768.00 */
612 /* 3145728.00 => 255 */ 0xff, /* => 352768.00 */
613 /* 3276800.00 => 255 */ 0xff, /* => 352768.00 */
614 /* 3407872.00 => 255 */ 0xff, /* => 352768.00 */
615 /* 3538944.00 => 255 */ 0xff, /* => 352768.00 */
616 /* 3670016.00 => 255 */ 0xff, /* => 352768.00 */
617 /* 3801088.00 => 255 */ 0xff, /* => 352768.00 */
618 /* 3932160.00 => 255 */ 0xff, /* => 352768.00 */
619 /* 4063232.00 => 255 */ 0xff, /* => 352768.00 */
620 /* 4194304.00 => 255 */ 0xff, /* => 352768.00 */
621 /* 4456448.00 => 255 */ 0xff, /* => 352768.00 */
622 /* 4718592.00 => 255 */ 0xff, /* => 352768.00 */
623 /* 4980736.00 => 255 */ 0xff, /* => 352768.00 */
624 /* 5242880.00 => 255 */ 0xff, /* => 352768.00 */
625 /* 5505024.00 => 255 */ 0xff, /* => 352768.00 */
626 /* 5767168.00 => 255 */ 0xff, /* => 352768.00 */
627 /* 6029312.00 => 255 */ 0xff, /* => 352768.00 */
628 /* 6291456.00 => 255 */ 0xff, /* => 352768.00 */
629 /* 6553600.00 => 255 */ 0xff, /* => 352768.00 */
630 /* 6815744.00 => 255 */ 0xff, /* => 352768.00 */
631 /* 7077888.00 => 255 */ 0xff, /* => 352768.00 */
632 /* 7340032.00 => 255 */ 0xff, /* => 352768.00 */
633 /* 7602176.00 => 255 */ 0xff, /* => 352768.00 */
634 /* 7864320.00 => 255 */ 0xff, /* => 352768.00 */
635 /* 8126464.00 => 255 */ 0xff, /* => 352768.00 */
636 /* 8388608.00 => 255 */ 0xff, /* => 352768.00 */
637 /* 8912896.00 => 255 */ 0xff, /* => 352768.00 */
638 /* 9437184.00 => 255 */ 0xff, /* => 352768.00 */
639 /* 9961472.00 => 255 */ 0xff, /* => 352768.00 */
640 /* 10485760.00 => 255 */ 0xff, /* => 352768.00 */
641 /* 11010048.00 => 255 */ 0xff, /* => 352768.00 */
642 /* 11534336.00 => 255 */ 0xff, /* => 352768.00 */
643 /* 12058624.00 => 255 */ 0xff, /* => 352768.00 */
644 /* 12582912.00 => 255 */ 0xff, /* => 352768.00 */
645 /* 13107200.00 => 255 */ 0xff, /* => 352768.00 */
646 /* 13631488.00 => 255 */ 0xff, /* => 352768.00 */
647 /* 14155776.00 => 255 */ 0xff, /* => 352768.00 */
648 /* 14680064.00 => 255 */ 0xff, /* => 352768.00 */
649 /* 15204352.00 => 255 */ 0xff, /* => 352768.00 */
650 /* 15728640.00 => 255 */ 0xff, /* => 352768.00 */
651 /* 16252928.00 => 255 */ 0xff, /* => 352768.00 */
652 /* 16777216.00 => 255 */ 0xff, /* => 352768.00 */
653 /* 17825792.00 => 255 */ 0xff, /* => 352768.00 */
654 /* 18874368.00 => 255 */ 0xff, /* => 352768.00 */
655 /* 19922944.00 => 255 */ 0xff, /* => 352768.00 */
656 /* 20971520.00 => 255 */ 0xff, /* => 352768.00 */
657 /* 22020096.00 => 255 */ 0xff, /* => 352768.00 */
658 /* 23068672.00 => 255 */ 0xff, /* => 352768.00 */
659 /* 24117248.00 => 255 */ 0xff, /* => 352768.00 */
660 /* 25165824.00 => 255 */ 0xff, /* => 352768.00 */
661 /* 26214400.00 => 255 */ 0xff, /* => 352768.00 */
662 /* 27262976.00 => 255 */ 0xff, /* => 352768.00 */
663 /* 28311552.00 => 255 */ 0xff, /* => 352768.00 */
664 /* 29360128.00 => 255 */ 0xff, /* => 352768.00 */
665 /* 30408704.00 => 255 */ 0xff, /* => 352768.00 */
666 /* 31457280.00 => 255 */ 0xff, /* => 352768.00 */
667 /* 32505856.00 => 255 */ 0xff, /* => 352768.00 */
668 /* 33554432.00 => 255 */ 0xff, /* => 352768.00 */
669 /* 35651584.00 => 255 */ 0xff, /* => 352768.00 */
670 /* 37748736.00 => 255 */ 0xff, /* => 352768.00 */
671 /* 39845888.00 => 255 */ 0xff, /* => 352768.00 */
672 /* 41943040.00 => 255 */ 0xff, /* => 352768.00 */
673 /* 44040192.00 => 255 */ 0xff, /* => 352768.00 */
674 /* 46137344.00 => 255 */ 0xff, /* => 352768.00 */
675 /* 48234496.00 => 255 */ 0xff, /* => 352768.00 */
676 /* 50331648.00 => 255 */ 0xff, /* => 352768.00 */
677 /* 52428800.00 => 255 */ 0xff, /* => 352768.00 */
678 /* 54525952.00 => 255 */ 0xff, /* => 352768.00 */
679 /* 56623104.00 => 255 */ 0xff, /* => 352768.00 */
680 /* 58720256.00 => 255 */ 0xff, /* => 352768.00 */
681 /* 60817408.00 => 255 */ 0xff, /* => 352768.00 */
682 /* 62914560.00 => 255 */ 0xff, /* => 352768.00 */
683 /* 65011712.00 => 255 */ 0xff, /* => 352768.00 */
684 /* 67108864.00 => 255 */ 0xff, /* => 352768.00 */
685 /* 71303168.00 => 255 */ 0xff, /* => 352768.00 */
686 /* 75497472.00 => 255 */ 0xff, /* => 352768.00 */
687 /* 79691776.00 => 255 */ 0xff, /* => 352768.00 */
688 /* 83886080.00 => 255 */ 0xff, /* => 352768.00 */
689 /* 88080384.00 => 255 */ 0xff, /* => 352768.00 */
690 /* 92274688.00 => 255 */ 0xff, /* => 352768.00 */
691 /* 96468992.00 => 255 */ 0xff, /* => 352768.00 */
692 /* 100663296.00 => 255 */ 0xff, /* => 352768.00 */
693 /* 104857600.00 => 255 */ 0xff, /* => 352768.00 */
694 /* 109051904.00 => 255 */ 0xff, /* => 352768.00 */
695 /* 113246208.00 => 255 */ 0xff, /* => 352768.00 */
696 /* 117440512.00 => 255 */ 0xff, /* => 352768.00 */
697 /* 121634816.00 => 255 */ 0xff, /* => 352768.00 */
698 /* 125829120.00 => 255 */ 0xff, /* => 352768.00 */
699 /* 130023424.00 => 255 */ 0xff, /* => 352768.00 */
700 /* 134217728.00 => 255 */ 0xff, /* => 352768.00 */
701 /* 142606336.00 => 255 */ 0xff, /* => 352768.00 */
702 /* 150994944.00 => 255 */ 0xff, /* => 352768.00 */
703 /* 159383552.00 => 255 */ 0xff, /* => 352768.00 */
704 /* 167772160.00 => 255 */ 0xff, /* => 352768.00 */
705 /* 176160768.00 => 255 */ 0xff, /* => 352768.00 */
706 /* 184549376.00 => 255 */ 0xff, /* => 352768.00 */
707 /* 192937984.00 => 255 */ 0xff, /* => 352768.00 */
708 /* 201326592.00 => 255 */ 0xff, /* => 352768.00 */
709 /* 209715200.00 => 255 */ 0xff, /* => 352768.00 */
710 /* 218103808.00 => 255 */ 0xff, /* => 352768.00 */
711 /* 226492416.00 => 255 */ 0xff, /* => 352768.00 */
712 /* 234881024.00 => 255 */ 0xff, /* => 352768.00 */
713 /* 243269632.00 => 255 */ 0xff, /* => 352768.00 */
714 /* 251658240.00 => 255 */ 0xff, /* => 352768.00 */
715 /* 260046848.00 => 255 */ 0xff, /* => 352768.00 */
716 /* 268435456.00 => 255 */ 0xff, /* => 352768.00 */
717 /* 285212672.00 => 255 */ 0xff, /* => 352768.00 */
718 /* 301989888.00 => 255 */ 0xff, /* => 352768.00 */
719 /* 318767104.00 => 255 */ 0xff, /* => 352768.00 */
720 /* 335544320.00 => 255 */ 0xff, /* => 352768.00 */
721 /* 352321536.00 => 255 */ 0xff, /* => 352768.00 */
722 /* 369098752.00 => 255 */ 0xff, /* => 352768.00 */
723 /* 385875968.00 => 255 */ 0xff, /* => 352768.00 */
724 /* 402653184.00 => 255 */ 0xff, /* => 352768.00 */
725 /* 419430400.00 => 255 */ 0xff, /* => 352768.00 */
726 /* 436207616.00 => 255 */ 0xff, /* => 352768.00 */
727 /* 452984832.00 => 255 */ 0xff, /* => 352768.00 */
728 /* 469762048.00 => 255 */ 0xff, /* => 352768.00 */
729 /* 486539264.00 => 255 */ 0xff, /* => 352768.00 */
730 /* 503316480.00 => 255 */ 0xff, /* => 352768.00 */
731 /* 520093696.00 => 255 */ 0xff, /* => 352768.00 */
732 /* 536870912.00 => 255 */ 0xff, /* => 352768.00 */
733 /* 570425344.00 => 255 */ 0xff, /* => 352768.00 */
734 /* 603979776.00 => 255 */ 0xff, /* => 352768.00 */
735 /* 637534208.00 => 255 */ 0xff, /* => 352768.00 */
736 /* 671088640.00 => 255 */ 0xff, /* => 352768.00 */
737 /* 704643072.00 => 255 */ 0xff, /* => 352768.00 */
738 /* 738197504.00 => 255 */ 0xff, /* => 352768.00 */
739 /* 771751936.00 => 255 */ 0xff, /* => 352768.00 */
740 /* 805306368.00 => 255 */ 0xff, /* => 352768.00 */
741 /* 838860800.00 => 255 */ 0xff, /* => 352768.00 */
742 /* 872415232.00 => 255 */ 0xff, /* => 352768.00 */
743 /* 905969664.00 => 255 */ 0xff, /* => 352768.00 */
744 /* 939524096.00 => 255 */ 0xff, /* => 352768.00 */
745 /* 973078528.00 => 255 */ 0xff, /* => 352768.00 */
746 /* 1006632960.00 => 255 */ 0xff, /* => 352768.00 */
747 /* 1040187392.00 => 255 */ 0xff, /* => 352768.00 */
748 /* 1073741824.00 => 255 */ 0xff, /* => 352768.00 */
749 /* 1140850688.00 => 255 */ 0xff, /* => 352768.00 */
750 /* 1207959552.00 => 255 */ 0xff, /* => 352768.00 */
751 /* 1275068416.00 => 255 */ 0xff, /* => 352768.00 */
752 /* 1342177280.00 => 255 */ 0xff, /* => 352768.00 */
753 /* 1409286144.00 => 255 */ 0xff, /* => 352768.00 */
754 /* 1476395008.00 => 255 */ 0xff, /* => 352768.00 */
755 /* 1543503872.00 => 255 */ 0xff, /* => 352768.00 */
756 /* 1610612736.00 => 255 */ 0xff, /* => 352768.00 */
757 /* 1677721600.00 => 255 */ 0xff, /* => 352768.00 */
758 /* 1744830464.00 => 255 */ 0xff, /* => 352768.00 */
759 /* 1811939328.00 => 255 */ 0xff, /* => 352768.00 */
760 /* 1879048192.00 => 255 */ 0xff, /* => 352768.00 */
761 /* 1946157056.00 => 255 */ 0xff, /* => 352768.00 */
762 /* 2013265920.00 => 255 */ 0xff, /* => 352768.00 */
763 /* 2080374784.00 => 255 */ 0xff, /* => 352768.00 */
764 /* 2147483648.00 => 255 */ 0xff, /* => 352768.00 */
765 /* 2281701376.00 => 255 */ 0xff, /* => 352768.00 */
766 /* 2415919104.00 => 255 */ 0xff, /* => 352768.00 */
767 /* 2550136832.00 => 255 */ 0xff, /* => 352768.00 */
768 /* 2684354560.00 => 255 */ 0xff, /* => 352768.00 */
769 /* 2818572288.00 => 255 */ 0xff, /* => 352768.00 */
770 /* 2952790016.00 => 255 */ 0xff, /* => 352768.00 */
771 /* 3087007744.00 => 255 */ 0xff, /* => 352768.00 */
772 /* 3221225472.00 => 255 */ 0xff, /* => 352768.00 */
773 /* 3355443200.00 => 255 */ 0xff, /* => 352768.00 */
774 /* 3489660928.00 => 255 */ 0xff, /* => 352768.00 */
775 /* 3623878656.00 => 255 */ 0xff, /* => 352768.00 */
776 /* 3758096384.00 => 255 */ 0xff, /* => 352768.00 */
777 /* 3892314112.00 => 255 */ 0xff, /* => 352768.00 */
778 /* 4026531840.00 => 255 */ 0xff, /* => 352768.00 */
779 /* 4160749568.00 => 255 */ 0xff, /* => 352768.00 */
780 };