1 #include "arm_vec_math.h" 2 3 #include "MISCQ31.h" 4 #include <stdio.h> 5 #include "Error.h" 6 #include "Test.h" 7 8 #define SNR_THRESHOLD 100 9 /* 10 11 Reference patterns are generated with 12 a double precision computation. 13 14 */ 15 #define ABS_ERROR_Q31 ((q31_t)2) 16 17 #define ABS_ERROR_FAST_Q31 ((q31_t)11) 18 19 20 /* 21 22 For tests of the error value of the Levinson Durbin algorithm 23 24 */ 25 #define ABS_LD_ERROR ((q31_t)30) 26 27 test_levinson_durbin_q31()28 void MISCQ31::test_levinson_durbin_q31() 29 { 30 31 32 const q31_t *inpA=inputA.ptr(); 33 const q31_t *errs=inputB.ptr(); 34 q31_t *outp=output.ptr(); 35 q31_t err; 36 q31_t refError=errs[this->errOffset]; 37 38 39 arm_levinson_durbin_q31(inpA,outp,&err,this->nba); 40 41 ASSERT_EMPTY_TAIL(output); 42 ASSERT_SNR(ref,output,(q31_t)SNR_THRESHOLD); 43 ASSERT_NEAR_EQ(ref,output,ABS_LD_ERROR); 44 ASSERT_NEAR_EQ(refError,err,ABS_LD_ERROR); 45 46 } 47 test_correlate_q31()48 void MISCQ31::test_correlate_q31() 49 { 50 const q31_t *inpA=inputA.ptr(); 51 const q31_t *inpB=inputB.ptr(); 52 q31_t *outp=output.ptr(); 53 54 arm_correlate_q31(inpA, inputA.nbSamples(), 55 inpB, inputB.nbSamples(), 56 outp); 57 58 ASSERT_SNR(ref,output,(q31_t)SNR_THRESHOLD); 59 ASSERT_NEAR_EQ(ref,output,ABS_ERROR_Q31); 60 61 } 62 test_conv_q31()63 void MISCQ31::test_conv_q31() 64 { 65 const q31_t *inpA=inputA.ptr(); 66 const q31_t *inpB=inputB.ptr(); 67 q31_t *outp=output.ptr(); 68 69 arm_conv_q31(inpA, inputA.nbSamples(), 70 inpB, inputB.nbSamples(), 71 outp); 72 73 ASSERT_EMPTY_TAIL(output); 74 ASSERT_SNR(ref,output,(q31_t)SNR_THRESHOLD); 75 ASSERT_NEAR_EQ(ref,output,ABS_ERROR_Q31); 76 77 } 78 79 // This value must be coherent with the Python script 80 // generating the test patterns 81 #define NBPOINTS 4 82 test_conv_partial_q31()83 void MISCQ31::test_conv_partial_q31() 84 { 85 const q31_t *inpA=inputA.ptr(); 86 const q31_t *inpB=inputB.ptr(); 87 q31_t *outp=output.ptr(); 88 q31_t *tmpp=tmp.ptr(); 89 90 91 arm_status status=arm_conv_partial_q31(inpA, inputA.nbSamples(), 92 inpB, inputB.nbSamples(), 93 outp, 94 this->first, 95 NBPOINTS); 96 97 98 99 memcpy((void*)tmpp,(void*)&outp[this->first],NBPOINTS*sizeof(q31_t)); 100 ASSERT_TRUE(status==ARM_MATH_SUCCESS); 101 ASSERT_SNR(ref,tmp,(q31_t)SNR_THRESHOLD); 102 ASSERT_NEAR_EQ(ref,tmp,ABS_ERROR_Q31); 103 104 } 105 test_conv_partial_fast_q31()106 void MISCQ31::test_conv_partial_fast_q31() 107 { 108 const q31_t *inpA=inputA.ptr(); 109 const q31_t *inpB=inputB.ptr(); 110 q31_t *outp=output.ptr(); 111 q31_t *tmpp=tmp.ptr(); 112 113 114 arm_status status=arm_conv_partial_fast_q31(inpA, inputA.nbSamples(), 115 inpB, inputB.nbSamples(), 116 outp, 117 this->first, 118 NBPOINTS); 119 120 121 122 memcpy((void*)tmpp,(void*)&outp[this->first],NBPOINTS*sizeof(q31_t)); 123 ASSERT_TRUE(status==ARM_MATH_SUCCESS); 124 ASSERT_SNR(ref,tmp,(q31_t)SNR_THRESHOLD); 125 ASSERT_NEAR_EQ(ref,tmp,ABS_ERROR_FAST_Q31); 126 127 } 128 129 130 setUp(Testing::testID_t id,std::vector<Testing::param_t> & paramsArgs,Client::PatternMgr * mgr)131 void MISCQ31::setUp(Testing::testID_t id,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr) 132 { 133 (void)paramsArgs; 134 switch(id) 135 { 136 137 138 case MISCQ31::TEST_CORRELATE_Q31_1: 139 { 140 this->nba = 4; 141 this->nbb = 1; 142 ref.reload(MISCQ31::REF1_Q31_ID,mgr); 143 } 144 break; 145 146 case MISCQ31::TEST_CORRELATE_Q31_2: 147 { 148 this->nba = 4; 149 this->nbb = 2; 150 ref.reload(MISCQ31::REF2_Q31_ID,mgr); 151 } 152 break; 153 154 case MISCQ31::TEST_CORRELATE_Q31_3: 155 { 156 this->nba = 4; 157 this->nbb = 3; 158 ref.reload(MISCQ31::REF3_Q31_ID,mgr); 159 } 160 break; 161 162 case MISCQ31::TEST_CORRELATE_Q31_4: 163 { 164 this->nba = 4; 165 this->nbb = 8; 166 ref.reload(MISCQ31::REF4_Q31_ID,mgr); 167 } 168 break; 169 170 case MISCQ31::TEST_CORRELATE_Q31_5: 171 { 172 this->nba = 4; 173 this->nbb = 11; 174 ref.reload(MISCQ31::REF5_Q31_ID,mgr); 175 } 176 break; 177 178 case MISCQ31::TEST_CORRELATE_Q31_6: 179 { 180 this->nba = 5; 181 this->nbb = 1; 182 ref.reload(MISCQ31::REF6_Q31_ID,mgr); 183 } 184 break; 185 186 case MISCQ31::TEST_CORRELATE_Q31_7: 187 { 188 this->nba = 5; 189 this->nbb = 2; 190 ref.reload(MISCQ31::REF7_Q31_ID,mgr); 191 } 192 break; 193 194 case MISCQ31::TEST_CORRELATE_Q31_8: 195 { 196 this->nba = 5; 197 this->nbb = 3; 198 ref.reload(MISCQ31::REF8_Q31_ID,mgr); 199 } 200 break; 201 202 case MISCQ31::TEST_CORRELATE_Q31_9: 203 { 204 this->nba = 5; 205 this->nbb = 8; 206 ref.reload(MISCQ31::REF9_Q31_ID,mgr); 207 } 208 break; 209 210 case MISCQ31::TEST_CORRELATE_Q31_10: 211 { 212 this->nba = 5; 213 this->nbb = 11; 214 ref.reload(MISCQ31::REF10_Q31_ID,mgr); 215 } 216 break; 217 218 case MISCQ31::TEST_CORRELATE_Q31_11: 219 { 220 this->nba = 6; 221 this->nbb = 1; 222 ref.reload(MISCQ31::REF11_Q31_ID,mgr); 223 } 224 break; 225 226 case MISCQ31::TEST_CORRELATE_Q31_12: 227 { 228 this->nba = 6; 229 this->nbb = 2; 230 ref.reload(MISCQ31::REF12_Q31_ID,mgr); 231 } 232 break; 233 234 case MISCQ31::TEST_CORRELATE_Q31_13: 235 { 236 this->nba = 6; 237 this->nbb = 3; 238 ref.reload(MISCQ31::REF13_Q31_ID,mgr); 239 } 240 break; 241 242 case MISCQ31::TEST_CORRELATE_Q31_14: 243 { 244 this->nba = 6; 245 this->nbb = 8; 246 ref.reload(MISCQ31::REF14_Q31_ID,mgr); 247 } 248 break; 249 250 case MISCQ31::TEST_CORRELATE_Q31_15: 251 { 252 this->nba = 6; 253 this->nbb = 11; 254 ref.reload(MISCQ31::REF15_Q31_ID,mgr); 255 } 256 break; 257 258 case MISCQ31::TEST_CORRELATE_Q31_16: 259 { 260 this->nba = 9; 261 this->nbb = 1; 262 ref.reload(MISCQ31::REF16_Q31_ID,mgr); 263 } 264 break; 265 266 case MISCQ31::TEST_CORRELATE_Q31_17: 267 { 268 this->nba = 9; 269 this->nbb = 2; 270 ref.reload(MISCQ31::REF17_Q31_ID,mgr); 271 } 272 break; 273 274 case MISCQ31::TEST_CORRELATE_Q31_18: 275 { 276 this->nba = 9; 277 this->nbb = 3; 278 ref.reload(MISCQ31::REF18_Q31_ID,mgr); 279 } 280 break; 281 282 case MISCQ31::TEST_CORRELATE_Q31_19: 283 { 284 this->nba = 9; 285 this->nbb = 8; 286 ref.reload(MISCQ31::REF19_Q31_ID,mgr); 287 } 288 break; 289 290 case MISCQ31::TEST_CORRELATE_Q31_20: 291 { 292 this->nba = 9; 293 this->nbb = 11; 294 ref.reload(MISCQ31::REF20_Q31_ID,mgr); 295 } 296 break; 297 298 case MISCQ31::TEST_CORRELATE_Q31_21: 299 { 300 this->nba = 10; 301 this->nbb = 1; 302 ref.reload(MISCQ31::REF21_Q31_ID,mgr); 303 } 304 break; 305 306 case MISCQ31::TEST_CORRELATE_Q31_22: 307 { 308 this->nba = 10; 309 this->nbb = 2; 310 ref.reload(MISCQ31::REF22_Q31_ID,mgr); 311 } 312 break; 313 314 case MISCQ31::TEST_CORRELATE_Q31_23: 315 { 316 this->nba = 10; 317 this->nbb = 3; 318 ref.reload(MISCQ31::REF23_Q31_ID,mgr); 319 } 320 break; 321 322 case MISCQ31::TEST_CORRELATE_Q31_24: 323 { 324 this->nba = 10; 325 this->nbb = 8; 326 ref.reload(MISCQ31::REF24_Q31_ID,mgr); 327 } 328 break; 329 330 case MISCQ31::TEST_CORRELATE_Q31_25: 331 { 332 this->nba = 10; 333 this->nbb = 11; 334 ref.reload(MISCQ31::REF25_Q31_ID,mgr); 335 } 336 break; 337 338 case MISCQ31::TEST_CORRELATE_Q31_26: 339 { 340 this->nba = 11; 341 this->nbb = 1; 342 ref.reload(MISCQ31::REF26_Q31_ID,mgr); 343 } 344 break; 345 346 case MISCQ31::TEST_CORRELATE_Q31_27: 347 { 348 this->nba = 11; 349 this->nbb = 2; 350 ref.reload(MISCQ31::REF27_Q31_ID,mgr); 351 } 352 break; 353 354 case MISCQ31::TEST_CORRELATE_Q31_28: 355 { 356 this->nba = 11; 357 this->nbb = 3; 358 ref.reload(MISCQ31::REF28_Q31_ID,mgr); 359 } 360 break; 361 362 case MISCQ31::TEST_CORRELATE_Q31_29: 363 { 364 this->nba = 11; 365 this->nbb = 8; 366 ref.reload(MISCQ31::REF29_Q31_ID,mgr); 367 } 368 break; 369 370 case MISCQ31::TEST_CORRELATE_Q31_30: 371 { 372 this->nba = 11; 373 this->nbb = 11; 374 ref.reload(MISCQ31::REF30_Q31_ID,mgr); 375 } 376 break; 377 378 case MISCQ31::TEST_CORRELATE_Q31_31: 379 { 380 this->nba = 12; 381 this->nbb = 1; 382 ref.reload(MISCQ31::REF31_Q31_ID,mgr); 383 } 384 break; 385 386 case MISCQ31::TEST_CORRELATE_Q31_32: 387 { 388 this->nba = 12; 389 this->nbb = 2; 390 ref.reload(MISCQ31::REF32_Q31_ID,mgr); 391 } 392 break; 393 394 case MISCQ31::TEST_CORRELATE_Q31_33: 395 { 396 this->nba = 12; 397 this->nbb = 3; 398 ref.reload(MISCQ31::REF33_Q31_ID,mgr); 399 } 400 break; 401 402 case MISCQ31::TEST_CORRELATE_Q31_34: 403 { 404 this->nba = 12; 405 this->nbb = 8; 406 ref.reload(MISCQ31::REF34_Q31_ID,mgr); 407 } 408 break; 409 410 case MISCQ31::TEST_CORRELATE_Q31_35: 411 { 412 this->nba = 12; 413 this->nbb = 11; 414 ref.reload(MISCQ31::REF35_Q31_ID,mgr); 415 } 416 break; 417 418 case MISCQ31::TEST_CORRELATE_Q31_36: 419 { 420 this->nba = 13; 421 this->nbb = 1; 422 ref.reload(MISCQ31::REF36_Q31_ID,mgr); 423 } 424 break; 425 426 case MISCQ31::TEST_CORRELATE_Q31_37: 427 { 428 this->nba = 13; 429 this->nbb = 2; 430 ref.reload(MISCQ31::REF37_Q31_ID,mgr); 431 } 432 break; 433 434 case MISCQ31::TEST_CORRELATE_Q31_38: 435 { 436 this->nba = 13; 437 this->nbb = 3; 438 ref.reload(MISCQ31::REF38_Q31_ID,mgr); 439 } 440 break; 441 442 case MISCQ31::TEST_CORRELATE_Q31_39: 443 { 444 this->nba = 13; 445 this->nbb = 8; 446 ref.reload(MISCQ31::REF39_Q31_ID,mgr); 447 } 448 break; 449 450 case MISCQ31::TEST_CORRELATE_Q31_40: 451 { 452 this->nba = 13; 453 this->nbb = 11; 454 ref.reload(MISCQ31::REF40_Q31_ID,mgr); 455 } 456 break; 457 458 case MISCQ31::TEST_CONV_Q31_41: 459 { 460 this->nba = 4; 461 this->nbb = 1; 462 ref.reload(MISCQ31::REF41_Q31_ID,mgr); 463 } 464 break; 465 466 case MISCQ31::TEST_CONV_Q31_42: 467 { 468 this->nba = 4; 469 this->nbb = 2; 470 ref.reload(MISCQ31::REF42_Q31_ID,mgr); 471 } 472 break; 473 474 case MISCQ31::TEST_CONV_Q31_43: 475 { 476 this->nba = 4; 477 this->nbb = 3; 478 ref.reload(MISCQ31::REF43_Q31_ID,mgr); 479 } 480 break; 481 482 case MISCQ31::TEST_CONV_Q31_44: 483 { 484 this->nba = 4; 485 this->nbb = 8; 486 ref.reload(MISCQ31::REF44_Q31_ID,mgr); 487 } 488 break; 489 490 case MISCQ31::TEST_CONV_Q31_45: 491 { 492 this->nba = 4; 493 this->nbb = 11; 494 ref.reload(MISCQ31::REF45_Q31_ID,mgr); 495 } 496 break; 497 498 case MISCQ31::TEST_CONV_Q31_46: 499 { 500 this->nba = 5; 501 this->nbb = 1; 502 ref.reload(MISCQ31::REF46_Q31_ID,mgr); 503 } 504 break; 505 506 case MISCQ31::TEST_CONV_Q31_47: 507 { 508 this->nba = 5; 509 this->nbb = 2; 510 ref.reload(MISCQ31::REF47_Q31_ID,mgr); 511 } 512 break; 513 514 case MISCQ31::TEST_CONV_Q31_48: 515 { 516 this->nba = 5; 517 this->nbb = 3; 518 ref.reload(MISCQ31::REF48_Q31_ID,mgr); 519 } 520 break; 521 522 case MISCQ31::TEST_CONV_Q31_49: 523 { 524 this->nba = 5; 525 this->nbb = 8; 526 ref.reload(MISCQ31::REF49_Q31_ID,mgr); 527 } 528 break; 529 530 case MISCQ31::TEST_CONV_Q31_50: 531 { 532 this->nba = 5; 533 this->nbb = 11; 534 ref.reload(MISCQ31::REF50_Q31_ID,mgr); 535 } 536 break; 537 538 case MISCQ31::TEST_CONV_Q31_51: 539 { 540 this->nba = 6; 541 this->nbb = 1; 542 ref.reload(MISCQ31::REF51_Q31_ID,mgr); 543 } 544 break; 545 546 case MISCQ31::TEST_CONV_Q31_52: 547 { 548 this->nba = 6; 549 this->nbb = 2; 550 ref.reload(MISCQ31::REF52_Q31_ID,mgr); 551 } 552 break; 553 554 case MISCQ31::TEST_CONV_Q31_53: 555 { 556 this->nba = 6; 557 this->nbb = 3; 558 ref.reload(MISCQ31::REF53_Q31_ID,mgr); 559 } 560 break; 561 562 case MISCQ31::TEST_CONV_Q31_54: 563 { 564 this->nba = 6; 565 this->nbb = 8; 566 ref.reload(MISCQ31::REF54_Q31_ID,mgr); 567 } 568 break; 569 570 case MISCQ31::TEST_CONV_Q31_55: 571 { 572 this->nba = 6; 573 this->nbb = 11; 574 ref.reload(MISCQ31::REF55_Q31_ID,mgr); 575 } 576 break; 577 578 case MISCQ31::TEST_CONV_Q31_56: 579 { 580 this->nba = 9; 581 this->nbb = 1; 582 ref.reload(MISCQ31::REF56_Q31_ID,mgr); 583 } 584 break; 585 586 case MISCQ31::TEST_CONV_Q31_57: 587 { 588 this->nba = 9; 589 this->nbb = 2; 590 ref.reload(MISCQ31::REF57_Q31_ID,mgr); 591 } 592 break; 593 594 case MISCQ31::TEST_CONV_Q31_58: 595 { 596 this->nba = 9; 597 this->nbb = 3; 598 ref.reload(MISCQ31::REF58_Q31_ID,mgr); 599 } 600 break; 601 602 case MISCQ31::TEST_CONV_Q31_59: 603 { 604 this->nba = 9; 605 this->nbb = 8; 606 ref.reload(MISCQ31::REF59_Q31_ID,mgr); 607 } 608 break; 609 610 case MISCQ31::TEST_CONV_Q31_60: 611 { 612 this->nba = 9; 613 this->nbb = 11; 614 ref.reload(MISCQ31::REF60_Q31_ID,mgr); 615 } 616 break; 617 618 case MISCQ31::TEST_CONV_Q31_61: 619 { 620 this->nba = 10; 621 this->nbb = 1; 622 ref.reload(MISCQ31::REF61_Q31_ID,mgr); 623 } 624 break; 625 626 case MISCQ31::TEST_CONV_Q31_62: 627 { 628 this->nba = 10; 629 this->nbb = 2; 630 ref.reload(MISCQ31::REF62_Q31_ID,mgr); 631 } 632 break; 633 634 case MISCQ31::TEST_CONV_Q31_63: 635 { 636 this->nba = 10; 637 this->nbb = 3; 638 ref.reload(MISCQ31::REF63_Q31_ID,mgr); 639 } 640 break; 641 642 case MISCQ31::TEST_CONV_Q31_64: 643 { 644 this->nba = 10; 645 this->nbb = 8; 646 ref.reload(MISCQ31::REF64_Q31_ID,mgr); 647 } 648 break; 649 650 case MISCQ31::TEST_CONV_Q31_65: 651 { 652 this->nba = 10; 653 this->nbb = 11; 654 ref.reload(MISCQ31::REF65_Q31_ID,mgr); 655 } 656 break; 657 658 case MISCQ31::TEST_CONV_Q31_66: 659 { 660 this->nba = 11; 661 this->nbb = 1; 662 ref.reload(MISCQ31::REF66_Q31_ID,mgr); 663 } 664 break; 665 666 case MISCQ31::TEST_CONV_Q31_67: 667 { 668 this->nba = 11; 669 this->nbb = 2; 670 ref.reload(MISCQ31::REF67_Q31_ID,mgr); 671 } 672 break; 673 674 case MISCQ31::TEST_CONV_Q31_68: 675 { 676 this->nba = 11; 677 this->nbb = 3; 678 ref.reload(MISCQ31::REF68_Q31_ID,mgr); 679 } 680 break; 681 682 case MISCQ31::TEST_CONV_Q31_69: 683 { 684 this->nba = 11; 685 this->nbb = 8; 686 ref.reload(MISCQ31::REF69_Q31_ID,mgr); 687 } 688 break; 689 690 case MISCQ31::TEST_CONV_Q31_70: 691 { 692 this->nba = 11; 693 this->nbb = 11; 694 ref.reload(MISCQ31::REF70_Q31_ID,mgr); 695 } 696 break; 697 698 case MISCQ31::TEST_CONV_Q31_71: 699 { 700 this->nba = 12; 701 this->nbb = 1; 702 ref.reload(MISCQ31::REF71_Q31_ID,mgr); 703 } 704 break; 705 706 case MISCQ31::TEST_CONV_Q31_72: 707 { 708 this->nba = 12; 709 this->nbb = 2; 710 ref.reload(MISCQ31::REF72_Q31_ID,mgr); 711 } 712 break; 713 714 case MISCQ31::TEST_CONV_Q31_73: 715 { 716 this->nba = 12; 717 this->nbb = 3; 718 ref.reload(MISCQ31::REF73_Q31_ID,mgr); 719 } 720 break; 721 722 case MISCQ31::TEST_CONV_Q31_74: 723 { 724 this->nba = 12; 725 this->nbb = 8; 726 ref.reload(MISCQ31::REF74_Q31_ID,mgr); 727 } 728 break; 729 730 case MISCQ31::TEST_CONV_Q31_75: 731 { 732 this->nba = 12; 733 this->nbb = 11; 734 ref.reload(MISCQ31::REF75_Q31_ID,mgr); 735 } 736 break; 737 738 case MISCQ31::TEST_CONV_Q31_76: 739 { 740 this->nba = 13; 741 this->nbb = 1; 742 ref.reload(MISCQ31::REF76_Q31_ID,mgr); 743 } 744 break; 745 746 case MISCQ31::TEST_CONV_Q31_77: 747 { 748 this->nba = 13; 749 this->nbb = 2; 750 ref.reload(MISCQ31::REF77_Q31_ID,mgr); 751 } 752 break; 753 754 case MISCQ31::TEST_CONV_Q31_78: 755 { 756 this->nba = 13; 757 this->nbb = 3; 758 ref.reload(MISCQ31::REF78_Q31_ID,mgr); 759 } 760 break; 761 762 case MISCQ31::TEST_CONV_Q31_79: 763 { 764 this->nba = 13; 765 this->nbb = 8; 766 ref.reload(MISCQ31::REF79_Q31_ID,mgr); 767 } 768 break; 769 770 case MISCQ31::TEST_CONV_Q31_80: 771 { 772 this->nba = 13; 773 this->nbb = 11; 774 ref.reload(MISCQ31::REF80_Q31_ID,mgr); 775 } 776 break; 777 778 case MISCQ31::TEST_LEVINSON_DURBIN_Q31_81: 779 { 780 this->nba = 3; 781 inputA.reload(MISCQ31::INPUTPHI_A_Q31_ID,mgr); 782 783 this->errOffset=0; 784 inputB.reload(MISCQ31::INPUT_ERRORS_Q31_ID,mgr); 785 ref.reload(MISCQ31::REF81_Q31_ID,mgr); 786 } 787 break; 788 789 case MISCQ31::TEST_LEVINSON_DURBIN_Q31_82: 790 { 791 this->nba = 8; 792 inputA.reload(MISCQ31::INPUTPHI_B_Q31_ID,mgr); 793 794 this->errOffset=1; 795 inputB.reload(MISCQ31::INPUT_ERRORS_Q31_ID,mgr); 796 ref.reload(MISCQ31::REF82_Q31_ID,mgr); 797 } 798 break; 799 800 case MISCQ31::TEST_LEVINSON_DURBIN_Q31_83: 801 { 802 this->nba = 11; 803 inputA.reload(MISCQ31::INPUTPHI_C_Q31_ID,mgr); 804 805 this->errOffset=2; 806 inputB.reload(MISCQ31::INPUT_ERRORS_Q31_ID,mgr); 807 ref.reload(MISCQ31::REF83_Q31_ID,mgr); 808 } 809 break; 810 811 case MISCQ31::TEST_CONV_PARTIAL_Q31_84: 812 case MISCQ31::TEST_CONV_PARTIAL_FAST_Q31_87: 813 { 814 this->first=3; 815 this->nba = 6; 816 this->nbb = 8; 817 ref.reload(MISCQ31::REF84_Q31_ID,mgr); 818 tmp.create(ref.nbSamples(),MISCQ31::TMP_Q31_ID,mgr); 819 820 } 821 break; 822 823 case MISCQ31::TEST_CONV_PARTIAL_Q31_85: 824 case MISCQ31::TEST_CONV_PARTIAL_FAST_Q31_88: 825 { 826 this->first=9; 827 this->nba = 6; 828 this->nbb = 8; 829 ref.reload(MISCQ31::REF85_Q31_ID,mgr); 830 tmp.create(ref.nbSamples(),MISCQ31::TMP_Q31_ID,mgr); 831 832 } 833 break; 834 835 case MISCQ31::TEST_CONV_PARTIAL_Q31_86: 836 case MISCQ31::TEST_CONV_PARTIAL_FAST_Q31_89: 837 { 838 this->first=7; 839 this->nba = 6; 840 this->nbb = 8; 841 ref.reload(MISCQ31::REF86_Q31_ID,mgr); 842 tmp.create(ref.nbSamples(),MISCQ31::TMP_Q31_ID,mgr); 843 844 } 845 break; 846 847 } 848 849 if (id < TEST_LEVINSON_DURBIN_Q31_81) 850 { 851 inputA.reload(MISCQ31::INPUTA_Q31_ID,mgr,nba); 852 inputB.reload(MISCQ31::INPUTB_Q31_ID,mgr,nbb); 853 } 854 855 if (id > TEST_LEVINSON_DURBIN_Q31_83) 856 { 857 inputA.reload(MISCQ31::INPUTA2_Q31_ID,mgr,nba); 858 inputB.reload(MISCQ31::INPUTB2_Q31_ID,mgr,nbb); 859 } 860 861 output.create(ref.nbSamples(),MISCQ31::OUT_Q31_ID,mgr); 862 863 } 864 tearDown(Testing::testID_t id,Client::PatternMgr * mgr)865 void MISCQ31::tearDown(Testing::testID_t id,Client::PatternMgr *mgr) 866 { 867 (void)id; 868 output.dump(mgr); 869 870 } 871