1 /**************************************************************************** 2 ** 3 ** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C 4 ** > Software Release 2.1 (2008-06) 5 ** (Simple repackaging; no change from 2005-05 Release 2.0 code) 6 ** 7 ** � 2004 Polycom, Inc. 8 ** 9 ** All rights reserved. 10 ** 11 ****************************************************************************/ 12 13 /**************************************************************************** 14 Filename: dct4_a.h 15 16 Purpose: Contains tables used by dct4_a.c 17 18 Design Notes: 19 20 ****************************************************************************/ 21 22 /*************************************************************************** 23 Include files 24 ***************************************************************************/ 25 #include <stdio.h> 26 #include <math.h> 27 28 typedef struct 29 { 30 Word16 cosine; 31 Word16 minus_sine; 32 } cos_msin_t; 33 34 cos_msin_t a_cos_msin_2[10] = { 35 { 29805 , -1171 } , 36 { 29621 , -3506 } , 37 { 29255 , -5819 } , 38 { 28708 , -8097 } , 39 { 27984 , -10324 } , 40 { 27088 , -12488 } , 41 { 26025 , -14575 } , 42 { 24801 , -16572 } , 43 { 23425 , -18466 } , 44 { 21903 , -20247 } 45 }; 46 cos_msin_t a_cos_msin_4[20] = { 47 { 29822 , -586 } , 48 { 29776 , -1756 } , 49 { 29684 , -2924 } , 50 { 29547 , -4087 } , 51 { 29364 , -5244 } , 52 { 29135 , -6392 } , 53 { 28862 , -7531 } , 54 { 28544 , -8659 } , 55 { 28182 , -9773 } , 56 { 27776 , -10871 } , 57 { 27328 , -11954 } , 58 { 26838 , -13017 } , 59 { 26306 , -14061 } , 60 { 25734 , -15083 } , 61 { 25122 , -16081 } , 62 { 24471 , -17055 } , 63 { 23783 , -18003 } , 64 { 23057 , -18923 } , 65 { 22297 , -19813 } , 66 { 21502 , -20673 } 67 }; 68 cos_msin_t a_cos_msin_8[40] = { 69 { 29827 , -293 } , 70 { 29815 , -878 } , 71 { 29792 , -1464 } , 72 { 29758 , -2048 } , 73 { 29712 , -2632 } , 74 { 29654 , -3215 } , 75 { 29586 , -3797 } , 76 { 29505 , -4377 } , 77 { 29414 , -4955 } , 78 { 29311 , -5532 } , 79 { 29196 , -6106 } , 80 { 29071 , -6678 } , 81 { 28934 , -7248 } , 82 { 28786 , -7814 } , 83 { 28627 , -8378 } , 84 { 28457 , -8938 } , 85 { 28276 , -9495 } , 86 { 28084 , -10049 } , 87 { 27882 , -10598 } , 88 { 27668 , -11144 } , 89 { 27444 , -11685 } , 90 { 27209 , -12221 } , 91 { 26964 , -12753 } , 92 { 26709 , -13280 } , 93 { 26443 , -13802 } , 94 { 26167 , -14318 } , 95 { 25881 , -14829 } , 96 { 25584 , -15335 } , 97 { 25278 , -15834 } , 98 { 24963 , -16327 } , 99 { 24637 , -16814 } , 100 { 24302 , -17295 } , 101 { 23958 , -17769 } , 102 { 23605 , -18236 } , 103 { 23242 , -18695 } , 104 { 22871 , -19148 } , 105 { 22490 , -19594 } , 106 { 22101 , -20031 } , 107 { 21704 , -20461 } , 108 { 21298 , -20884 } 109 }; 110 cos_msin_t a_cos_msin_16[80] = { 111 { 29828 , -146 } , 112 { 29825 , -439 } , 113 { 29819 , -732 } , 114 { 29811 , -1025 } , 115 { 29799 , -1317 } , 116 { 29785 , -1610 } , 117 { 29767 , -1902 } , 118 { 29747 , -2194 } , 119 { 29724 , -2486 } , 120 { 29698 , -2778 } , 121 { 29670 , -3069 } , 122 { 29638 , -3360 } , 123 { 29604 , -3651 } , 124 { 29567 , -3942 } , 125 { 29526 , -4232 } , 126 { 29483 , -4521 } , 127 { 29438 , -4811 } , 128 { 29389 , -5099 } , 129 { 29338 , -5388 } , 130 { 29283 , -5676 } , 131 { 29226 , -5963 } , 132 { 29166 , -6249 } , 133 { 29103 , -6535 } , 134 { 29038 , -6821 } , 135 { 28969 , -7106 } , 136 { 28898 , -7390 } , 137 { 28824 , -7673 } , 138 { 28748 , -7956 } , 139 { 28668 , -8237 } , 140 { 28586 , -8518 } , 141 { 28501 , -8799 } , 142 { 28413 , -9078 } , 143 { 28323 , -9357 } , 144 { 28229 , -9634 } , 145 { 28133 , -9911 } , 146 { 28035 , -10187 } , 147 { 27933 , -10461 } , 148 { 27829 , -10735 } , 149 { 27723 , -11008 } , 150 { 27613 , -11279 } , 151 { 27501 , -11550 } , 152 { 27387 , -11819 } , 153 { 27269 , -12088 } , 154 { 27149 , -12355 } , 155 { 27027 , -12621 } , 156 { 26901 , -12885 } , 157 { 26774 , -13149 } , 158 { 26643 , -13411 } , 159 { 26510 , -13672 } , 160 { 26375 , -13932 } , 161 { 26237 , -14190 } , 162 { 26096 , -14447 } , 163 { 25953 , -14702 } , 164 { 25807 , -14956 } , 165 { 25659 , -15209 } , 166 { 25509 , -15460 } , 167 { 25356 , -15710 } , 168 { 25200 , -15958 } , 169 { 25043 , -16205 } , 170 { 24882 , -16450 } , 171 { 24720 , -16693 } , 172 { 24554 , -16935 } , 173 { 24387 , -17175 } , 174 { 24217 , -17414 } , 175 { 24045 , -17651 } , 176 { 23871 , -17886 } , 177 { 23694 , -18119 } , 178 { 23515 , -18351 } , 179 { 23334 , -18581 } , 180 { 23150 , -18809 } , 181 { 22964 , -19036 } , 182 { 22776 , -19260 } , 183 { 22586 , -19483 } , 184 { 22394 , -19704 } , 185 { 22199 , -19923 } , 186 { 22003 , -20140 } , 187 { 21804 , -20355 } , 188 { 21603 , -20568 } , 189 { 21400 , -20779 } , 190 { 21195 , -20988 } 191 }; 192 cos_msin_t a_cos_msin_32[160]= { 193 { 29828 , -73 } , 194 { 29827 , -220 } , 195 { 29826 , -366 } , 196 { 29824 , -512 } , 197 { 29821 , -659 } , 198 { 29817 , -805 } , 199 { 29813 , -952 } , 200 { 29808 , -1098 } , 201 { 29802 , -1244 } , 202 { 29796 , -1390 } , 203 { 29789 , -1537 } , 204 { 29781 , -1683 } , 205 { 29772 , -1829 } , 206 { 29763 , -1975 } , 207 { 29753 , -2121 } , 208 { 29742 , -2267 } , 209 { 29730 , -2413 } , 210 { 29718 , -2559 } , 211 { 29705 , -2705 } , 212 { 29692 , -2851 } , 213 { 29677 , -2997 } , 214 { 29662 , -3142 } , 215 { 29646 , -3288 } , 216 { 29630 , -3433 } , 217 { 29613 , -3579 } , 218 { 29595 , -3724 } , 219 { 29576 , -3869 } , 220 { 29557 , -4014 } , 221 { 29537 , -4159 } , 222 { 29516 , -4304 } , 223 { 29494 , -4449 } , 224 { 29472 , -4594 } , 225 { 29449 , -4738 } , 226 { 29426 , -4883 } , 227 { 29401 , -5027 } , 228 { 29376 , -5172 } , 229 { 29351 , -5316 } , 230 { 29324 , -5460 } , 231 { 29297 , -5604 } , 232 { 29269 , -5747 } , 233 { 29241 , -5891 } , 234 { 29211 , -6034 } , 235 { 29181 , -6178 } , 236 { 29151 , -6321 } , 237 { 29119 , -6464 } , 238 { 29087 , -6607 } , 239 { 29054 , -6749 } , 240 { 29021 , -6892 } , 241 { 28987 , -7034 } , 242 { 28952 , -7177 } , 243 { 28916 , -7319 } , 244 { 28880 , -7460 } , 245 { 28843 , -7602 } , 246 { 28805 , -7744 } , 247 { 28767 , -7885 } , 248 { 28728 , -8026 } , 249 { 28688 , -8167 } , 250 { 28648 , -8308 } , 251 { 28607 , -8448 } , 252 { 28565 , -8589 } , 253 { 28522 , -8729 } , 254 { 28479 , -8869 } , 255 { 28435 , -9008 } , 256 { 28391 , -9148 } , 257 { 28346 , -9287 } , 258 { 28300 , -9426 } , 259 { 28253 , -9565 } , 260 { 28206 , -9703 } , 261 { 28158 , -9842 } , 262 { 28109 , -9980 } , 263 { 28060 , -10118 } , 264 { 28010 , -10255 } , 265 { 27959 , -10393 } , 266 { 27908 , -10530 } , 267 { 27856 , -10667 } , 268 { 27803 , -10803 } , 269 { 27750 , -10940 } , 270 { 27696 , -11076 } , 271 { 27641 , -11212 } , 272 { 27586 , -11347 } , 273 { 27529 , -11482 } , 274 { 27473 , -11617 } , 275 { 27415 , -11752 } , 276 { 27357 , -11886 } , 277 { 27299 , -12021 } , 278 { 27239 , -12154 } , 279 { 27179 , -12288 } , 280 { 27119 , -12421 } , 281 { 27057 , -12554 } , 282 { 26996 , -12687 } , 283 { 26933 , -12819 } , 284 { 26870 , -12951 } , 285 { 26806 , -13083 } , 286 { 26741 , -13215 } , 287 { 26676 , -13346 } , 288 { 26610 , -13476 } , 289 { 26544 , -13607 } , 290 { 26477 , -13737 } , 291 { 26409 , -13867 } , 292 { 26340 , -13996 } , 293 { 26271 , -14125 } , 294 { 26202 , -14254 } , 295 { 26132 , -14383 } , 296 { 26061 , -14511 } , 297 { 25989 , -14638 } , 298 { 25917 , -14766 } , 299 { 25844 , -14893 } , 300 { 25771 , -15020 } , 301 { 25697 , -15146 } , 302 { 25622 , -15272 } , 303 { 25547 , -15397 } , 304 { 25471 , -15523 } , 305 { 25394 , -15648 } , 306 { 25317 , -15772 } , 307 { 25239 , -15896 } , 308 { 25161 , -16020 } , 309 { 25082 , -16143 } , 310 { 25003 , -16266 } , 311 { 24923 , -16389 } , 312 { 24842 , -16511 } , 313 { 24760 , -16632 } , 314 { 24678 , -16754 } , 315 { 24596 , -16875 } , 316 { 24513 , -16995 } , 317 { 24429 , -17115 } , 318 { 24345 , -17235 } , 319 { 24260 , -17354 } , 320 { 24174 , -17473 } , 321 { 24088 , -17592 } , 322 { 24002 , -17710 } , 323 { 23914 , -17827 } , 324 { 23827 , -17945 } , 325 { 23738 , -18061 } , 326 { 23649 , -18178 } , 327 { 23560 , -18293 } , 328 { 23470 , -18409 } , 329 { 23379 , -18524 } , 330 { 23288 , -18638 } , 331 { 23196 , -18752 } , 332 { 23104 , -18866 } , 333 { 23011 , -18979 } , 334 { 22917 , -19092 } , 335 { 22824 , -19204 } , 336 { 22729 , -19316 } , 337 { 22634 , -19427 } , 338 { 22538 , -19538 } , 339 { 22442 , -19649 } , 340 { 22345 , -19759 } , 341 { 22248 , -19868 } , 342 { 22150 , -19977 } , 343 { 22052 , -20086 } , 344 { 21953 , -20194 } , 345 { 21854 , -20301 } , 346 { 21754 , -20408 } , 347 { 21653 , -20515 } , 348 { 21552 , -20621 } , 349 { 21451 , -20726 } , 350 { 21349 , -20831 } , 351 { 21246 , -20936 } , 352 { 21143 , -21040 } 353 }; 354 cos_msin_t a_cos_msin_64[320] = { 355 {29827, -34}, 356 {29827, -106}, 357 {29827, -177}, 358 {29827, -249}, 359 {29826, -320}, 360 {29825, -392}, 361 {29824, -463}, 362 {29823, -535}, 363 {29821, -606}, 364 {29819, -678}, 365 {29818, -750}, 366 {29816, -821}, 367 {29814, -893}, 368 {29812, -964}, 369 {29809, -1035}, 370 {29807, -1106}, 371 {29804, -1177}, 372 {29801, -1249}, 373 {29797, -1320}, 374 {29795, -1392}, 375 {29791, -1463}, 376 {29787, -1535}, 377 {29784, -1606}, 378 {29780, -1678}, 379 {29776, -1749}, 380 {29771, -1820}, 381 {29767, -1892}, 382 {29763, -1963}, 383 {29758, -2035}, 384 {29753, -2106}, 385 {29748, -2177}, 386 {29742, -2249}, 387 {29737, -2320}, 388 {29731, -2391}, 389 {29726, -2462}, 390 {29719, -2534}, 391 {29713, -2605}, 392 {29707, -2676}, 393 {29701, -2747}, 394 {29694, -2819}, 395 {29686, -2890}, 396 {29680, -2961}, 397 {29673, -3032}, 398 {29665, -3103}, 399 {29658, -3174}, 400 {29650, -3245}, 401 {29643, -3316}, 402 {29635, -3387}, 403 {29626, -3459}, 404 {29618, -3529}, 405 {29610, -3600}, 406 {29601, -3671}, 407 {29592, -3742}, 408 {29583, -3813}, 409 {29574, -3884}, 410 {29564, -3955}, 411 {29554, -4026}, 412 {29544, -4097}, 413 {29535, -4167}, 414 {29525, -4238}, 415 {29514, -4309}, 416 {29504, -4380}, 417 {29493, -4450}, 418 {29483, -4521}, 419 {29472, -4591}, 420 {29461, -4662}, 421 {29450, -4733}, 422 {29439, -4803}, 423 {29427, -4874}, 424 {29415, -4944}, 425 {29403, -5015}, 426 {29391, -5085}, 427 {29379, -5155}, 428 {29366, -5226}, 429 {29353, -5296}, 430 {29341, -5367}, 431 {29328, -5438}, 432 {29314, -5508}, 433 {29301, -5578}, 434 {29289, -5648}, 435 {29274, -5718}, 436 {29260, -5788}, 437 {29247, -5858}, 438 {29232, -5928}, 439 {29218, -5998}, 440 {29204, -6068}, 441 {29188, -6139}, 442 {29175, -6209}, 443 {29159, -6279}, 444 {29145, -6348}, 445 {29128, -6418}, 446 {29114, -6488}, 447 {29097, -6557}, 448 {29082, -6627}, 449 {29066, -6697}, 450 {29050, -6767}, 451 {29034, -6837}, 452 {29017, -6906}, 453 {29001, -6975}, 454 {28984, -7045}, 455 {28966, -7114}, 456 {28950, -7184}, 457 {28933, -7254}, 458 {28915, -7323}, 459 {28897, -7392}, 460 {28880, -7461}, 461 {28862, -7530}, 462 {28843, -7600}, 463 {28825, -7669}, 464 {28807, -7738}, 465 {28788, -7806}, 466 {28769, -7875}, 467 {28751, -7944}, 468 {28732, -8014}, 469 {28712, -8082}, 470 {28692, -8151}, 471 {28672, -8219}, 472 {28653, -8289}, 473 {28633, -8357}, 474 {28613, -8425}, 475 {28593, -8494}, 476 {28572, -8563}, 477 {28551, -8632}, 478 {28531, -8700}, 479 {28510, -8768}, 480 {28488, -8837}, 481 {28468, -8905}, 482 {28447, -8973}, 483 {28425, -9041}, 484 {28403, -9109}, 485 {28381, -9177}, 486 {28359, -9245}, 487 {28336, -9313}, 488 {28315, -9381}, 489 {28292, -9448}, 490 {28269, -9517}, 491 {28246, -9584}, 492 {28223, -9652}, 493 {28200, -9720}, 494 {28176, -9787}, 495 {28153, -9854}, 496 {28129, -9922}, 497 {28105, -9990}, 498 {28082, -10056}, 499 {28057, -10124}, 500 {28032, -10191}, 501 {28009, -10258}, 502 {27984, -10326}, 503 {27959, -10392}, 504 {27934, -10460}, 505 {27909, -10526}, 506 {27883, -10593}, 507 {27858, -10661}, 508 {27832, -10727}, 509 {27807, -10794}, 510 {27780, -10860}, 511 {27754, -10927}, 512 {27728, -10993}, 513 {27701, -11059}, 514 {27676, -11126}, 515 {27648, -11192}, 516 {27622, -11259}, 517 {27595, -11324}, 518 {27567, -11391}, 519 {27540, -11456}, 520 {27512, -11523}, 521 {27484, -11588}, 522 {27456, -11655}, 523 {27429, -11720}, 524 {27401, -11786}, 525 {27372, -11852}, 526 {27344, -11917}, 527 {27315, -11982}, 528 {27286, -12049}, 529 {27257, -12114}, 530 {27229, -12179}, 531 {27199, -12244}, 532 {27169, -12309}, 533 {27140, -12375}, 534 {27110, -12439}, 535 {27080, -12505}, 536 {27050, -12570}, 537 {27019, -12634}, 538 {26990, -12699}, 539 {26958, -12764}, 540 {26928, -12828}, 541 {26897, -12892}, 542 {26866, -12956}, 543 {26835, -13021}, 544 {26804, -13086}, 545 {26773, -13149}, 546 {26741, -13214}, 547 {26709, -13278}, 548 {26677, -13342}, 549 {26645, -13406}, 550 {26613, -13470}, 551 {26581, -13534}, 552 {26549, -13597}, 553 {26515, -13661}, 554 {26483, -13725}, 555 {26450, -13788}, 556 {26417, -13851}, 557 {26384, -13915}, 558 {26350, -13978}, 559 {26316, -14041}, 560 {26283, -14103}, 561 {26248, -14166}, 562 {26215, -14229}, 563 {26180, -14292}, 564 {26146, -14355}, 565 {26112, -14417}, 566 {26077, -14480}, 567 {26042, -14543}, 568 {26008, -14605}, 569 {25972, -14667}, 570 {25937, -14730}, 571 {25901, -14792}, 572 {25866, -14854}, 573 {25830, -14916}, 574 {25794, -14977}, 575 {25759, -15039}, 576 {25723, -15101}, 577 {25687, -15162}, 578 {25650, -15224}, 579 {25613, -15286}, 580 {25577, -15347}, 581 {25540, -15408}, 582 {25503, -15470}, 583 {25465, -15531}, 584 {25428, -15592}, 585 {25391, -15653}, 586 {25353, -15714}, 587 {25315, -15774}, 588 {25277, -15834}, 589 {25240, -15895}, 590 {25201, -15956}, 591 {25162, -16016}, 592 {25124, -16076}, 593 {25086, -16136}, 594 {25047, -16196}, 595 {25008, -16256}, 596 {24969, -16316}, 597 {24930, -16375}, 598 {24891, -16436}, 599 {24851, -16496}, 600 {24811, -16555}, 601 {24772, -16615}, 602 {24732, -16674}, 603 {24692, -16732}, 604 {24652, -16791}, 605 {24612, -16852}, 606 {24572, -16911}, 607 {24531, -16969}, 608 {24490, -17027}, 609 {24449, -17086}, 610 {24408, -17145}, 611 {24367, -17203}, 612 {24325, -17261}, 613 {24284, -17320}, 614 {24242, -17379}, 615 {24200, -17436}, 616 {24158, -17494}, 617 {24116, -17552}, 618 {24075, -17610}, 619 {24032, -17668}, 620 {23990, -17725}, 621 {23947, -17782}, 622 {23904, -17840}, 623 {23862, -17897}, 624 {23819, -17954}, 625 {23775, -18011}, 626 {23732, -18068}, 627 {23689, -18125}, 628 {23645, -18181}, 629 {23602, -18238}, 630 {23558, -18294}, 631 {23514, -18351}, 632 {23470, -18407}, 633 {23426, -18464}, 634 {23381, -18520}, 635 {23337, -18576}, 636 {23293, -18632}, 637 {23248, -18688}, 638 {23202, -18743}, 639 {23158, -18799}, 640 {23112, -18854}, 641 {23068, -18910}, 642 {23022, -18964}, 643 {22977, -19020}, 644 {22931, -19074}, 645 {22885, -19129}, 646 {22839, -19185}, 647 {22793, -19239}, 648 {22747, -19294}, 649 {22700, -19348}, 650 {22655, -19403}, 651 {22607, -19457}, 652 {22561, -19511}, 653 {22514, -19565}, 654 {22467, -19619}, 655 {22421, -19673}, 656 {22373, -19726}, 657 {22326, -19780}, 658 {22279, -19834}, 659 {22230, -19887}, 660 {22183, -19940}, 661 {22135, -19993}, 662 {22087, -20047}, 663 {22039, -20099}, 664 {21991, -20152}, 665 {21942, -20205}, 666 {21894, -20257}, 667 {21845, -20309}, 668 {21797, -20362}, 669 {21748, -20413}, 670 {21699, -20466}, 671 {21650, -20518}, 672 {21601, -20570}, 673 {21551, -20621}, 674 {21502, -20674} 675 }; 676 677 cos_msin_t *a_cos_msin_table[] = {a_cos_msin_2, a_cos_msin_4, 678 a_cos_msin_8, a_cos_msin_16, 679 a_cos_msin_32,a_cos_msin_64 680 }; 681 682 Word16 dct_core_a[10][10] = { 683 684 { 10453, 10196, 9688, 8941, 7973, 6810, 5479, 4013, 2448, 823 }, 685 { 10196, 7973, 4013, -823, -5479, -8941, -10453, -9688, -6810, -2448 }, 686 { 9688 , 4013, -4013, -9688, -9688, -4013, 4013, 9688, 9688, 4013 }, 687 { 8941 , -823, -9688, -7973, 2448, 10196, 6810, -4013, -10453, -5479 }, 688 { 7973 , -5479, -9688, 2448, 10453, 823, -10196, -4013, 8941, 6810 }, 689 { 6810 , -8941, -4013, 10196, 823, -10453, 2448, 9688, -5479, -7973 }, 690 { 5479 , -10453, 4013, 6810, -10196, 2448, 7973, -9688, 823, 8941 }, 691 { 4013 , -9688, 9688, -4013, -4013, 9688, -9688, 4013, 4013, -9688 }, 692 { 2448 , -6810, 9688, -10453, 8941, -5479, 823, 4013, -7973, 10196 }, 693 { 823 , -2448, 4013, -5479, 6810, -7973, 8941, -9688, 10196, -10453 }}; 694 695 Word16 anal_bias[320] = { 696 1, 1, 3, 1, 4, 1, 3, -2, 4, 3, 697 4, 1, 3, 0, 2, -3, 0, 0, 2, 2, 698 4, 1, 1, -5, 4, 1, 2, -1, 0, -1, 699 1, -2, 0, 2, 2, 2, 4, 1, 3, 0, 700 5, 3, 2, 0, 3, 0, 1, -4, 1, 1, 701 2, 0, 4, 0, 1, -4, 6, 1, 3, -1, 702 1, 0, 0, -4, 1, 1, 3, 1, 3, 2, 703 4, -2, 4, 3, 5, 1, 3, 0, 1, -3, 704 1, 1, 2, 0, 4, 1, 2, -4, 4, 2, 705 2, -1, 1, -1, 1, -4, 0, 0, 3, 0, 706 5, 2, 3, -1, 6, 2, 5, 0, 4, 0, 707 1, -3, 1, 0, 3, 0, 4, 0, 1, -3, 708 4, 1, 3, -1, 1, -2, 1, -4, 0, 1, 709 2, 1, 3, 2, 2, -2, 4, 3, 3, 0, 710 3, 0, 0, -2, 1, 0, 2, 0, 5, -1, 711 1, -3, 4, 2, 2, 0, 2, -3, 1, -4, 712 -1, 1, 2, 2, 4, 1, 3, -1, 5, 2, 713 2, 0, 3, -1, 2, -3, 0, 1, 2, 2, 714 4, 0, 1, -5, 5, 1, 3, 0, 2, -1, 715 0, -2, 1, 2, 2, 2, 4, 1, 0, 0, 716 4, 2, 4, 1, 4, -1, 1, -4, 0, 1, 717 3, 1, 5, 1, 1, -2, 4, 0, 2, 0, 718 2, -1, 0, -2, 0, 1, 1, 1, 4, 2, 719 3, -2, 5, 4, 4, 0, 3, 0, 3, -4, 720 1, 2, 2, 0, 4, 1, 0, -3, 4, 2, 721 3, -1, 1, -1, 1, -4, 0, 2, 3, 1, 722 4, 1, 3, 0, 3, 3, 4, 1, 2, 0, 723 1, -3, 2, 2, 2, 1, 5, 0, 1, -4, 724 4, 1, 3, -2, 3, -1, 0, -2, 0, 2, 725 2, 0, 5, 1, 4, -1, 4, 3, 4, 1, 726 3, 0, 1, -4, 2, 0, 3, 1, 5, 0, 727 1, -5, 5, 2, 2, 0, 0, 0, 0, -4}; 728 729