From a794b05eb6cf5774f3f997d3effb98401f2f6301 Mon Sep 17 00:00:00 2001 From: Christophe Favergeon Date: Wed, 14 Aug 2019 08:55:46 +0200 Subject: [PATCH] CMSIS-DSP:Test framework improvements and bug corrections Corrected memory issue in IORunner when using static buffer of parameters. Added script to generate a db of regression Added max regression coef to summary results. --- Testing/FrameworkInclude/FPGA.h | 2 +- Testing/FrameworkInclude/Semihosting.h | 2 +- Testing/FrameworkInclude/Test.h | 9 +- Testing/FrameworkSource/FPGA.cpp | 5 +- Testing/FrameworkSource/IORunner.cpp | 8 +- Testing/FrameworkSource/Semihosting.cpp | 4 +- Testing/Include/Benchmarks/BIQUADF32.h | 1 + .../Filtering/DECIM/DECIMF32/Coefs1_f32.txt | 252 ++-- .../Filtering/DECIM/DECIMF32/Samples1_f32.txt | 1018 ++++++++-------- .../Filtering/DECIM/DECIMQ15/Coefs1_q15.txt | 252 ++-- .../Filtering/DECIM/DECIMQ15/Samples1_q15.txt | 1018 ++++++++-------- .../Filtering/DECIM/DECIMQ31/Coefs1_q31.txt | 252 ++-- .../Filtering/DECIM/DECIMQ31/Samples1_q31.txt | 1020 ++++++++--------- Testing/Source/Benchmarks/BIQUADF32.cpp | 28 +- Testing/Source/Benchmarks/DECIMF32.cpp | 10 +- Testing/addAllBenchToDatabase.bat | 24 + Testing/addAllBenchToRegressionDatabase.bat | 24 + Testing/addToDB.py | 9 +- Testing/addToRegDB.py | 296 +++++ Testing/bench.txt | 1 + Testing/generateAllRegressions.bat | 24 + Testing/summaryBench.py | 2 +- 22 files changed, 2336 insertions(+), 1925 deletions(-) create mode 100755 Testing/addAllBenchToDatabase.bat create mode 100755 Testing/addAllBenchToRegressionDatabase.bat create mode 100755 Testing/addToRegDB.py create mode 100755 Testing/generateAllRegressions.bat diff --git a/Testing/FrameworkInclude/FPGA.h b/Testing/FrameworkInclude/FPGA.h index 32fcf024..89a25174 100644 --- a/Testing/FrameworkInclude/FPGA.h +++ b/Testing/FrameworkInclude/FPGA.h @@ -67,7 +67,7 @@ FPGA driver. Used to read a C array describing how to drive the test. void ImportPattern_u8(Testing::PatternID_t,char*,Testing::nbSamples_t nb); void DumpParams(std::vector&); - Testing::param_t* ImportParams(Testing::PatternID_t,Testing::nbParameterEntries_t &); + Testing::param_t* ImportParams(Testing::PatternID_t,Testing::nbParameterEntries_t &,Testing::ParameterKind &); bool hasParam(); Testing::PatternID_t getParamID(); diff --git a/Testing/FrameworkInclude/Semihosting.h b/Testing/FrameworkInclude/Semihosting.h index 438f950f..c2c599e3 100644 --- a/Testing/FrameworkInclude/Semihosting.h +++ b/Testing/FrameworkInclude/Semihosting.h @@ -71,7 +71,7 @@ Semihosting driver. Used to read a text file describing how to drive the test. void ImportPattern_u8(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0); void DumpParams(std::vector&); - Testing::param_t* ImportParams(Testing::PatternID_t,Testing::nbParameterEntries_t &); + Testing::param_t* ImportParams(Testing::PatternID_t,Testing::nbParameterEntries_t &,Testing::ParameterKind &); bool hasParam(); Testing::PatternID_t getParamID(); diff --git a/Testing/FrameworkInclude/Test.h b/Testing/FrameworkInclude/Test.h index ff8c4e31..3caecb13 100644 --- a/Testing/FrameworkInclude/Test.h +++ b/Testing/FrameworkInclude/Test.h @@ -102,6 +102,13 @@ namespace Testing // Number of parameter configurations typedef unsigned long nbParameterEntries_t; + // To know if parameter array is malloc buffer or static buffer in C array + enum ParameterKind + { + kStaticBuffer=0, + kDynamicBuffer=1, + }; + } namespace Client @@ -285,7 +292,7 @@ API of Memory managers used in the test framework They receive parameters as a vector argument for the setUp fucntion. */ - virtual Testing::param_t* ImportParams(Testing::PatternID_t,Testing::nbParameterEntries_t &)=0; + virtual Testing::param_t* ImportParams(Testing::PatternID_t,Testing::nbParameterEntries_t &,Testing::ParameterKind &)=0; /** Dump pattern. diff --git a/Testing/FrameworkSource/FPGA.cpp b/Testing/FrameworkSource/FPGA.cpp index a75936db..9138b469 100644 --- a/Testing/FrameworkSource/FPGA.cpp +++ b/Testing/FrameworkSource/FPGA.cpp @@ -429,7 +429,7 @@ namespace Client printf("\n"); } - Testing::param_t* FPGA::ImportParams(Testing::PatternID_t id,Testing::nbParameterEntries_t &nbEntries) + Testing::param_t* FPGA::ImportParams(Testing::PatternID_t id,Testing::nbParameterEntries_t &nbEntries,Testing::ParameterKind ¶mKind) { nbEntries=0; unsigned long offset,i; @@ -443,6 +443,8 @@ namespace Client if (gen.kind == 0) { offset=gen.offset; + paramKind=Testing::kStaticBuffer; + nbEntries = gen.nbInputSamples / gen.dimensions; const char *patternStart = this->m_patterns + offset; @@ -454,6 +456,7 @@ namespace Client Testing::param_t* result; // Output samples is number of parameter line len=gen.nbOutputSamples * gen.dimensions; + paramKind=Testing::kDynamicBuffer; result=(Testing::param_t*)malloc(len*sizeof(Testing::param_t)); diff --git a/Testing/FrameworkSource/IORunner.cpp b/Testing/FrameworkSource/IORunner.cpp index 47ce6db9..f83ced41 100644 --- a/Testing/FrameworkSource/IORunner.cpp +++ b/Testing/FrameworkSource/IORunner.cpp @@ -139,6 +139,7 @@ a C++ function pointer from the cycle measurements. std::vector params(nbParams); bool canExecute=true; int dataIndex=0; + Testing::ParameterKind paramKind; // Read test identification (test ID) m_io->ReadTestIdentification(); @@ -147,7 +148,7 @@ a C++ function pointer from the cycle measurements. if (m_io->hasParam()) { Testing::PatternID_t paramID=m_io->getParamID(); - paramData = m_io->ImportParams(paramID,entries); + paramData = m_io->ImportParams(paramID,entries,paramKind); dataIndex = 0; } @@ -230,7 +231,10 @@ a C++ function pointer from the cycle measurements. } if (paramData) { - free(paramData); + if (paramKind == Testing::kDynamicBuffer) + { + free(paramData); + } paramData = NULL; } diff --git a/Testing/FrameworkSource/Semihosting.cpp b/Testing/FrameworkSource/Semihosting.cpp index 29ef3906..0cc8e83d 100644 --- a/Testing/FrameworkSource/Semihosting.cpp +++ b/Testing/FrameworkSource/Semihosting.cpp @@ -495,7 +495,7 @@ namespace Client printf("\n"); } - Testing::param_t* Semihosting::ImportParams(Testing::PatternID_t id,Testing::nbParameterEntries_t &nbEntries) + Testing::param_t* Semihosting::ImportParams(Testing::PatternID_t id,Testing::nbParameterEntries_t &nbEntries,Testing::ParameterKind ¶mKind) { nbEntries = 0; @@ -510,6 +510,7 @@ namespace Client if (gen.kind == 0) { char *result=NULL; + paramKind=Testing::kDynamicBuffer; FILE *params=fopen(gen.path.c_str(), "r"); if (params==NULL) @@ -539,6 +540,7 @@ namespace Client { Testing::param_t* result; + paramKind=Testing::kDynamicBuffer; // Output samples is number of parameter line len=gen.nbOutputSamples * gen.dimensions; diff --git a/Testing/Include/Benchmarks/BIQUADF32.h b/Testing/Include/Benchmarks/BIQUADF32.h index 96a4d04c..ae2a9262 100755 --- a/Testing/Include/Benchmarks/BIQUADF32.h +++ b/Testing/Include/Benchmarks/BIQUADF32.h @@ -13,6 +13,7 @@ class BIQUADF32:public Client::Suite Client::LocalPattern output; Client::LocalPattern state; + Client::LocalPattern neonCoefs; arm_biquad_casd_df1_inst_f32 instBiquadDf1; arm_biquad_cascade_df2T_instance_f32 instBiquadDf2T; diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Coefs1_f32.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Coefs1_f32.txt index 10a6925a..922c798e 100755 --- a/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Coefs1_f32.txt +++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Coefs1_f32.txt @@ -1,130 +1,130 @@ W 64 -// 0.294732 -0x3e96e714 -// 0.305068 -0x3e9c31ec -// 0.086757 -0x3db1adc6 -// 0.369003 -0x3ebcedfb -// -0.119669 -0xbdf51534 -// -0.399264 -0xbecc6c55 -// 0.061593 -0x3d7c4952 -// 0.110992 -0x3de34fe0 -// -0.285496 -0xbe922c7e +// 0.649563 +0x3f2649bf +// 0.097598 +0x3dc7e187 +// -0.079640 +0xbda31a2f +// -0.474077 +0xbef2ba3f +// -0.081669 +0xbda74227 +// 0.267932 +0x3e892e63 +// 0.814420 +0x3f507dd8 +// -0.580453 +0xbf149893 +// 0.398885 +0x3ecc3a9a +// -0.075691 +0xbd9b03ee +// 0.325981 +0x3ea6e6ec +// 0.304560 +0x3e9bef3e +// -0.062305 +0xbd7f33e9 +// 0.099098 +0x3dcaf406 +// -0.418274 +0xbed627fd +// -0.132193 +0xbe075da1 +// 0.544181 +0x3f0b4f6e +// 0.005892 +0x3bc11469 +// 0.263290 +0x3e86cded +// -0.575829 +0xbf136987 +// -0.199804 +0xbe4c9981 +// 0.450453 +0x3ee6a1d3 +// -0.072525 +0xbd94880b +// 0.463500 +0x3eed4fe2 +// 0.651320 +0x3f26bce4 +// -0.785352 +0xbf490cd1 +// -1.105668 +0xbf8d8685 +// -0.005999 +0xbbc492a3 +// 0.383187 +0x3ec43119 +// -0.112807 +0xbde70743 +// -0.094405 +0xbdc15790 +// 0.568256 +0x3f117942 +// 0.234140 +0x3e6fc27f +// 0.557404 +0x3f0eb203 +// 0.118612 +0x3df2eaa4 +// -0.389347 +0xbec75871 +// -0.393224 +0xbec954a8 +// 0.228187 +0x3e69a9ba +// -0.176939 +0xbe352f8f +// 0.253512 +0x3e81cc5d +// 0.168579 +0x3e2c9fe5 +// -0.029022 +0xbcedbec0 +// 0.092175 +0x3dbcc640 +// -0.230969 +0xbe6c8304 +// 0.515084 +0x3f03dc92 +// 0.219670 +0x3e60f126 +// -0.246071 +0xbe7bfa18 +// -0.145649 +0xbe15251b +// 0.413992 +0x3ed3f6cd +// 0.160768 +0x3e24a054 +// -0.202494 +0xbe4f5a84 +// 0.714254 +0x3f36d952 // 1.000000 0x3f800000 -// -0.056449 -0xbd673729 -// 0.484592 -0x3ef81c82 -// -0.007081 -0xbbe8065d -// -0.115404 -0xbdec5906 -// 0.051243 -0x3d51e42a -// 0.445107 -0x3ee3e514 -// 0.084477 -0x3dad0216 -// -0.037170 -0xbd183f8d -// 0.580892 -0x3f14b553 -// -0.043201 -0xbd30f323 -// 0.461559 -0x3eec5171 -// -0.074682 -0xbd98f2d2 -// -0.028579 -0xbcea1ebc -// 0.134832 -0x3e0a1181 -// 0.022127 -0x3cb5435c -// -0.235539 -0xbe713138 -// -0.158748 -0xbe228ef3 -// -0.308994 -0xbe9e3483 -// -0.011049 -0xbc350683 -// -0.120095 -0xbdf5f461 -// -0.427968 -0xbedb1ea3 -// -0.124656 -0xbdff4b7a -// 0.056117 -0x3d65db47 -// 0.074986 -0x3d9991ff -// -0.633737 -0xbf223c9a -// 0.453152 -0x3ee8039a -// -0.152014 -0xbe1ba991 -// 0.182705 -0x3e3b1716 -// -0.267525 -0xbe88f905 -// 0.103138 -0x3dd33a02 -// -0.194995 -0xbe47accd -// 0.639574 -0x3f23bb1c -// 0.194753 -0x3e476d35 -// -0.036318 -0xbd14c23e -// -0.269953 -0xbe8a373b -// 0.153657 -0x3e1d583e -// -0.216456 -0xbe5da6bd -// 0.141060 -0x3e1071ec -// 0.103226 -0x3dd367e9 -// -0.004779 -0xbb9c9776 -// -0.077415 -0xbd9e8b8b -// 0.252172 -0x3e811cbb -// 0.003819 -0x3b7a4bc0 -// -0.148504 -0xbe18117c -// -0.390512 -0xbec7f136 -// -0.559452 -0xbf0f3837 -// -0.163960 -0xbe27e537 -// -0.142945 -0xbe126031 -// -0.614152 -0xbf1d3916 -// -0.296426 -0xbe97c535 -// 0.454037 -0x3ee87784 -// -0.012337 -0xbc4a21fc -// 0.494083 -0x3efcf871 -// 0.232309 -0x3e6de25d +// -0.250496 +0xbe8040fd +// 0.901443 +0x3f66c4f5 +// -0.364598 +0xbebaaca7 +// -0.411274 +0xbed2927a +// -0.811920 +0xbf4fd9fe +// 0.313876 +0x3ea0b44e +// -0.060231 +0xbd76b519 +// -0.064893 +0xbd84e670 +// -0.201103 +0xbe4dedd9 +// 0.333203 +0x3eaa999e +// 0.349408 +0x3eb2e5a3 diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Samples1_f32.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Samples1_f32.txt index 86679f88..ef0aceda 100755 --- a/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Samples1_f32.txt +++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Samples1_f32.txt @@ -1,514 +1,514 @@ W 256 -// -0.362305 -0xbeb98017 -// 0.133260 -0x3e087549 -// 0.022588 -0x3cb90b57 -// -0.061932 -0xbd7daca4 -// -0.236476 -0xbe7226b9 -// 0.118520 -0x3df2baaf -// -0.184581 -0xbe3d02c6 -// 0.426783 -0x3eda8350 -// -0.300799 -0xbe9a0255 -// -0.191694 -0xbe444b8e -// -0.136017 -0xbe0b480f -// 0.391046 -0x3ec83731 -// 0.327932 -0x3ea7e6a4 -// -0.230468 -0xbe6bffd6 -// -0.229423 -0xbe6aede6 -// 0.049156 -0x3d4957c2 -// 0.191877 -0x3e447b54 -// 0.020727 -0x3ca9caee -// -0.306531 -0xbe9cf193 -// -0.062984 -0xbd80fde9 -// -0.036090 -0xbd13d2e6 -// -0.020085 -0xbca48a4a -// 0.306326 -0x3e9cd6b5 -// 0.316156 -0x3ea1df3f -// -0.469584 -0xbef06d53 -// -0.025684 -0xbcd26799 -// -0.096838 -0xbdc652c0 -// 0.167087 -0x3e2b18f5 -// -0.087000 -0xbdb22d31 -// 0.077208 -0x3d9e1f51 -// -0.269843 -0xbe8a28e7 -// -0.176367 -0xbe34998a -// -0.201124 -0xbe4df374 -// -0.351841 -0xbeb4248d -// -0.170186 -0xbe2e4558 -// 0.032049 -0x3d034649 -// 0.082369 -0x3da8b119 -// -0.221727 -0xbe630c85 -// -0.098665 -0xbdca1121 -// -0.308099 -0xbe9dbf34 -// -0.067313 -0xbd89db4a -// 0.402834 -0x3ece4037 -// -0.229395 -0xbe6ae684 -// -0.179199 -0xbe377fe9 -// 0.319421 -0x3ea38b21 -// 0.284778 -0x3e91ce5f -// 0.257001 -0x3e83959f -// -0.112808 -0xbde707d9 -// 0.159860 -0x3e23b26c -// 0.066708 -0x3d889e4c -// -0.138877 -0xbe0e35b4 -// -0.125724 -0xbe00bdb5 -// 0.106487 -0x3dda1606 -// 0.544685 -0x3f0b7079 -// -0.567071 -0xbf112b93 -// -0.189893 -0xbe427344 -// 0.219676 -0x3e60f2dc -// -0.279987 -0xbe8f5a6d -// 0.069451 -0x3d8e3c72 -// -0.031817 -0xbd0252ca -// -0.176483 -0xbe34b7dd -// 0.070459 -0x3d904cc9 -// 0.021318 -0x3caea3f4 -// -0.105000 -0xbdd70a3a -// 0.697311 -0x3f3282fa -// -0.210174 -0xbe5737cb -// -0.405553 -0xbecfa4af -// -0.149794 -0xbe1963b1 -// -0.240471 -0xbe763dec -// 0.071351 -0x3d922060 -// -0.044079 -0xbd348c1e -// 0.078775 -0x3da154e0 -// 0.141940 -0x3e11589f -// 0.854811 -0x3f5ad4e8 -// -0.359358 -0xbeb7fdce -// -0.260750 -0xbe858106 -// 0.025144 -0x3ccdfa4d -// 0.450384 -0x3ee698c4 -// 0.175998 -0x3e3438d6 -// 0.106912 -0x3ddaf4e7 -// 0.064914 -0x3d84f1b2 -// -0.097466 -0xbdc79c33 -// 0.041389 -0x3d2987a4 -// -0.356988 -0xbeb6c720 -// -0.066109 -0xbd87640b -// 0.007833 -0x3c005409 -// -0.221482 -0xbe62cc39 -// 0.610524 -0x3f1c4b46 -// 0.126911 -0x3e01f504 -// -0.091405 -0xbdbb327f -// -0.084924 -0xbdadecaf -// 0.352220 -0x3eb45629 -// 0.113626 -0x3de8b4e8 -// -0.113013 -0xbde77338 -// 0.200708 -0x3e4d865f -// -0.257027 -0xbe83990e -// 0.340601 -0x3eae6349 -// 0.263668 -0x3e86ff7e -// -0.220174 -0xbe617569 -// -0.059693 -0xbd7480b0 -// 0.322208 -0x3ea4f866 -// -0.314473 -0xbea102a6 -// -0.060268 -0xbd76dc04 -// 0.145114 -0x3e1498d2 -// -0.452629 -0xbee7befd -// 0.002932 -0x3b4028a6 -// -0.164166 -0xbe281b35 -// -0.060244 -0xbd76c24e -// 0.372226 -0x3ebe946f -// 0.209274 -0x3e564bfe -// -0.032112 -0xbd03884b -// 0.581867 -0x3f14f53d -// -0.313660 -0xbea097ff -// 0.264678 -0x3e8783e8 -// 0.027544 -0x3ce1a2fb -// 0.148221 -0x3e17c72d -// 0.041870 -0x3d2b7f7a -// -0.366806 -0xbebbce0b -// -0.056080 -0xbd65b401 -// 0.175122 -0x3e33534f -// -0.128658 -0xbe03bee0 -// -0.146826 -0xbe1659a7 -// 0.636204 -0x3f22de41 -// -0.139656 -0xbe0f0201 -// 0.167026 -0x3e2b08cc -// -0.350684 -0xbeb38ce2 -// 0.000601 -0x3a1d70ad -// 0.133815 -0x3e0906c0 -// -0.219677 -0xbe60f2f2 -// -0.223778 -0xbe652623 -// 0.154797 -0x3e1e8320 -// 0.417462 -0x3ed5bd8d +// 0.090555 +0x3db9750c +// -0.536370 +0xbf094f85 +// -0.681142 +0xbf2e5f4f +// 0.283784 +0x3e914c1f +// 0.242522 +0x3e7857a7 +// -0.040075 +0xbd24255c +// 0.598438 +0x3f193337 +// 0.249669 +0x3e7fa93d +// -0.053155 +0xbd59b995 +// -0.202470 +0xbe4f543b +// 0.123970 +0x3dfde3c0 +// 0.452045 +0x3ee7726e +// 0.141184 +0x3e109278 +// -0.452731 +0xbee7cc5c +// 0.523734 +0x3f061374 +// -0.075438 +0xbd9a7f33 +// -0.100113 +0xbdcd07fd +// -0.263222 +0xbe86c50e +// 0.275668 +0x3e8d2460 +// 0.116464 +0x3dee8483 +// -0.571313 +0xbf124197 +// 0.152882 +0x3e1c8d16 +// -0.322594 +0xbea52b17 +// -0.400270 +0xbeccf031 +// -0.915317 +0xbf6a523d +// 0.365707 +0x3ebb3e03 +// 0.589407 +0x3f16e365 +// 0.157901 +0x3e21b0b3 +// -0.028173 +0xbce6cb61 +// -0.453174 +0xbee80673 +// 0.516170 +0x3f0423bb +// -0.188896 +0xbe416de8 +// -0.604938 +0xbf1add40 +// -0.270423 +0xbe8a74e1 +// 0.460127 +0x3eeb95c7 +// -0.127307 +0xbe025cb1 +// -0.088385 +0xbdb502f0 +// 0.332302 +0x3eaa2372 +// 0.344387 +0x3eb0537d +// -0.152401 +0xbe1c0f19 +// -0.253329 +0xbe81b453 +// -0.146782 +0xbe164dfd +// 0.292532 +0x3e95c6cb +// -0.162482 +0xbe2661ce +// -0.029759 +0xbcf3c86b +// 0.201364 +0x3e4e3249 +// 0.166955 +0x3e2af62d +// -0.435741 +0xbedf1965 +// -0.153315 +0xbe1cfe7e +// -0.060300 +0xbd76fd3d +// 0.025119 +0x3ccdc735 +// 0.361408 +0x3eb90a7c +// -0.031038 +0xbcfe4310 +// 0.036654 +0x3d1622ad +// 0.028821 +0x3cec1aec +// -0.264432 +0xbe8763b2 +// -0.019368 +0xbc9ea9a5 +// 0.178297 +0x3e369388 +// -0.285740 +0xbe924c81 +// -0.589795 +0xbf16fcc8 +// -0.594404 +0xbf182ade +// -0.242855 +0xbe78aee3 +// -0.483298 +0xbef772c8 +// -0.572733 +0xbf129e9c +// 0.181215 +0x3e399052 +// -0.440912 +0xbee1bf28 +// -0.351960 +0xbeb43415 +// -0.316797 +0xbea23330 +// 0.169718 +0x3e2dca9c +// 0.003876 +0x3b7dfd70 +// -0.144447 +0xbe13e9e7 +// 0.222887 +0x3e643c8a +// -0.012682 +0xbc4fc8b2 // 1.000000 0x3f800000 -// -0.340405 -0xbeae4986 -// 0.280836 -0x3e8fc9bd -// -0.192700 -0xbe455315 -// 0.237774 -0x3e737b0e -// 0.182530 -0x3e3ae928 -// 0.133829 -0x3e090a80 -// 0.096250 -0x3dc51e9a -// 0.309776 -0x3e9e9b03 -// -0.724547 -0xbf397be4 -// -0.170553 -0xbe2ea590 -// -0.001349 -0xbab0c110 -// -0.110628 -0xbde290ce -// -0.164264 -0xbe2834ba -// -0.144245 -0xbe13b50d -// 0.100345 -0x3dcd81ae -// 0.197494 -0x3e4a3bcd -// 0.086774 -0x3db1b659 -// 0.083467 -0x3daaf0f5 -// -0.333169 -0xbeaa9518 -// 0.193865 -0x3e46848c -// 0.854322 -0x3f5ab4d8 -// -0.423989 -0xbed91505 -// -0.334632 -0xbeab54e9 -// -0.133884 -0xbe0918ed -// -0.049075 -0xbd490278 -// -0.407453 -0xbed09db7 -// -0.008463 -0xbc0aa71d -// -0.221230 -0xbe628a20 -// -0.222035 -0xbe635d16 -// 0.280315 -0x3e8f8580 -// 0.021817 -0x3cb2b8d3 -// -0.155777 -0xbe1f83e7 -// -0.396059 -0xbecac848 -// 0.234309 -0x3e6fee9b -// -0.295456 -0xbe9745f9 -// 0.188326 -0x3e40d8a9 -// 0.178478 -0x3e36c2fe -// 0.170667 -0x3e2ec354 -// -0.273965 -0xbe8c4517 -// -0.227556 -0xbe69045d -// -0.221661 -0xbe62fb16 -// 0.417506 -0x3ed5c368 -// 0.266852 -0x3e88a0e1 -// 0.198268 -0x3e4b06d8 -// -0.367396 -0xbebc1b54 -// -0.629302 -0xbf2119ea -// -0.530039 -0xbf07b0a2 -// 0.316909 -0x3ea241e7 -// 0.070242 -0x3d8fdb31 -// 0.120523 -0x3df6d4d1 -// 0.083430 -0x3daadd71 -// 0.184529 -0x3e3cf53d -// -0.011081 -0xbc358dc5 -// 0.257875 -0x3e84082b -// -0.062749 -0xbd80827f -// -0.241528 -0xbe77532e -// -0.202370 -0xbe4f3a2d -// 0.210466 -0x3e57845d -// -0.459768 -0xbeeb66b9 -// -0.384475 -0xbec4d9f6 -// 0.284537 -0x3e91aed3 -// -0.073512 -0xbd968d46 -// 0.660927 -0x3f293289 -// -0.398779 -0xbecc2cbe -// 0.436575 -0x3edf86bc -// 0.218208 -0x3e5f7202 -// -0.020909 -0xbcab48e8 -// -0.387015 -0xbec626d8 -// -0.099880 -0xbdcc8dbb -// -0.441390 -0xbee1fddc -// 0.044837 -0x3d37a682 +// 0.031663 +0x3d01b0d3 +// -0.145914 +0xbe156a71 // 0.230105 -0x3e6ba090 -// 0.177673 -0x3e35f00a -// -0.157200 -0xbe20f91e -// -0.399482 -0xbecc88e9 -// -0.174484 -0xbe32ac0d -// 0.228068 -0x3e698a98 -// 0.372705 -0x3ebed322 -// 0.050021 -0x3d4ce322 -// -0.333834 -0xbeaaec57 -// -0.077192 -0xbd9e16f8 -// 0.192268 -0x3e44e1dc -// 0.192733 -0x3e455bb2 -// -0.090800 -0xbdb9f55b -// -0.115356 -0xbdec3f9a -// 0.009328 -0x3c18d5be -// 0.041193 -0x3d28b9ec -// -0.033917 -0xbd0aed11 -// -0.765296 -0xbf43ea73 -// -0.215892 -0xbe5d12b8 -// -0.282070 -0xbe906b84 -// -0.307502 -0xbe9d70e6 -// -0.152494 -0xbe1c275a -// -0.069114 -0xbd8d8b6c -// -0.403538 -0xbece9c79 -// -0.043054 -0xbd30597b -// -0.209534 -0xbe569021 -// -0.043850 -0xbd339c2d -// -0.284814 -0xbe91d31a -// 0.129120 -0x3e0437f3 -// 0.233575 -0x3e6f2e42 -// 0.324215 -0x3ea5ff91 -// -0.220101 -0xbe616220 -// -0.045787 -0xbd3b8b55 -// -0.094118 -0xbdc0c0f7 -// -0.093911 -0xbdc05448 -// -0.336150 -0xbeac1bdc -// -0.065022 -0xbd852a81 -// -0.281298 -0xbe900646 -// -0.355047 -0xbeb5c8c2 -// 0.123350 -0x3dfc9ed4 -// -0.532384 -0xbf084a53 -// -0.114823 -0xbdeb2887 -// -0.393154 -0xbec94b87 -// -0.312395 -0xbe9ff248 -// 0.318514 -0x3ea31439 -// -0.383084 -0xbec4239a -// -0.283697 -0xbe9140c7 -// -0.212389 -0xbe597c67 -// 0.006423 -0x3bd276f7 -// -0.392650 -0xbec90974 -// 0.006573 -0x3bd75e43 -// 0.175991 -0x3e343701 +0x3e6ba0a6 +// -0.265575 +0xbe87f962 +// -0.728161 +0xbf3a68bd +// 0.138787 +0x3e0e1e3c +// -0.463300 +0xbeed35a0 +// -0.116155 +0xbdede2e6 +// -0.506519 +0xbf01ab40 +// -0.126622 +0xbe01a911 +// 0.068064 +0x3d8b6538 +// 0.103346 +0x3dd3a6e9 +// 0.356175 +0x3eb65c96 +// -0.599714 +0xbf1986e3 +// -0.074891 +0xbd99603c +// 0.126167 +0x3e0131ed +// -0.416666 +0xbed55538 +// -0.577036 +0xbf13b8a4 +// 0.244838 +0x3e7ab6bf +// -0.352950 +0xbeb4b5e1 +// 0.276502 +0x3e8d919e +// 0.183030 +0x3e3b6c2c +// 0.339716 +0x3eadef47 +// -0.215842 +0xbe5d05c4 +// 0.043446 +0x3d31f43c +// -0.011475 +0xbc3c009e +// 0.197080 +0x3e49cf42 +// 0.301279 +0x3e9a4147 +// -0.129538 +0xbe04a595 +// 0.338084 +0x3ead1960 +// -0.004001 +0xbb831dad +// -0.173478 +0xbe31a447 +// -0.511837 +0xbf0307b9 +// -0.242447 +0xbe784412 +// -0.034191 +0xbd0c0bf0 +// 0.334757 +0x3eab6543 +// -0.338403 +0xbead4326 +// 0.375127 +0x3ec010a3 +// 0.524429 +0x3f0640f8 +// 0.626738 +0x3f2071df +// 0.855870 +0x3f5b1a50 +// -0.176817 +0xbe350f80 +// -0.103780 +0xbdd48a8f +// -0.025905 +0xbcd4372c +// -0.106937 +0xbddb0209 +// -0.343820 +0xbeb0093a +// -0.292135 +0xbe9592bf +// -0.023226 +0xbcbe448c +// -0.231163 +0xbe6cb607 +// 0.531257 +0x3f08007a +// 0.399476 +0x3ecc881d +// -0.039408 +0xbd216a8a +// 0.077041 +0x3d9dc78d +// -0.376598 +0xbec0d17b +// 0.323863 +0x3ea5d15b +// 0.238997 +0x3e74bb84 +// 0.541579 +0x3f0aa4f0 +// 0.142160 +0x3e11927f +// -0.076526 +0xbd9cb9bd +// -0.292446 +0xbe95bb6b +// -0.537366 +0xbf0990cf +// -0.013152 +0xbc577d20 +// -0.537553 +0xbf099d0e +// 0.530345 +0x3f07c4b2 +// -0.296700 +0xbe97e908 +// 0.722362 +0x3f38ecb8 +// 0.250598 +0x3e804e5a +// 0.749085 +0x3f3fc401 +// -0.051302 +0xbd5221a6 +// 0.353297 +0x3eb4e35c +// -0.222100 +0xbe636e35 +// 0.214241 +0x3e5b620d +// 0.086345 +0x3db0d5a0 +// -0.309270 +0xbe9e58a2 +// 0.232395 +0x3e6df900 +// 0.241364 +0x3e772801 +// -0.159784 +0xbe239e89 +// -0.492584 +0xbefc33ea +// 0.293405 +0x3e96393c +// -0.052527 +0xbd5726ed +// -0.745403 +0xbf3ed2ba +// -0.056297 +0xbd66973e +// -0.215813 +0xbe5cfe0c +// 0.242206 +0x3e7804da +// -0.717761 +0xbf37bf2e +// -0.323850 +0xbea5cfae +// 0.207053 +0x3e5405c9 +// 0.431418 +0x3edce2e0 +// 0.001589 +0x3ad04929 +// -0.092599 +0xbdbda476 +// -0.278298 +0xbe8e7d03 +// -0.388054 +0xbec6af0a +// 0.133625 +0x3e08d51e +// -0.310102 +0xbe9ec5bb +// 0.374284 +0x3ebfa220 +// 0.036393 +0x3d1510b0 +// 0.298233 +0x3e98b200 +// -0.061358 +0xbd7b52af +// 0.442528 +0x3ee292fa +// -0.727288 +0xbf3a2f84 +// -0.180121 +0xbe3871a6 +// 0.185864 +0x3e3e532d +// 0.016604 +0x3c8805b7 +// -0.072412 +0xbd944c80 +// 0.045350 +0x3d39c077 +// 0.164190 +0x3e282155 +// -0.046243 +0xbd3d6978 +// 0.805079 +0x3f4e19ae +// 0.358611 +0x3eb79be3 +// 0.505962 +0x3f0186bb +// 0.359883 +0x3eb842a5 +// -0.252556 +0xbe814f05 +// 0.064654 +0x3d846974 +// 0.418772 +0x3ed66942 +// -0.004174 +0xbb88c8d9 +// 0.095005 +0x3dc29201 +// -0.365193 +0xbebafa93 +// -0.005618 +0xbbb81555 +// 0.120607 +0x3df700b5 +// 0.090280 +0x3db8e4ec +// 0.331602 +0x3ea9c7cb +// 0.142044 +0x3e1173df +// -0.304011 +0xbe9ba75a +// 0.716422 +0x3f37676c +// -0.229099 +0xbe6a98e2 +// 0.101811 +0x3dd0827d +// -0.115421 +0xbdec61c8 +// -0.418872 +0xbed67656 +// 0.320785 +0x3ea43de4 +// 0.204695 +0x3e519b8c +// 0.109906 +0x3de116a1 +// -0.551824 +0xbf0d4455 +// 0.073806 +0x3d97276f +// 0.413267 +0x3ed397b8 +// -0.041353 +0xbd2961c6 +// -0.641420 +0xbf243422 +// -0.012141 +0xbc46e9e0 +// -0.068302 +0xbd8be210 +// -0.085006 +0xbdae17bc +// 0.170316 +0x3e2e673a +// 0.249995 +0x3e7ffe9b +// -0.691322 +0xbf30fa79 +// -0.293959 +0xbe9681d2 +// 0.232565 +0x3e6e259d +// 0.092406 +0x3dbd3f2f +// -0.022057 +0xbcb4b03e +// 0.603058 +0x3f1a61ff +// -0.634828 +0xbf22841e +// -0.379212 +0xbec22814 +// 0.126390 +0x3e016c6a +// 0.129142 +0x3e043de6 +// 0.771929 +0x3f459d25 +// 0.366366 +0x3ebb945f +// -0.145925 +0xbe156d54 +// -0.040168 +0xbd248705 +// 0.121803 +0x3df973ff +// -0.575970 +0xbf1372bf +// 0.827976 +0x3f53f644 +// -0.172864 +0xbe31035a +// 0.444743 +0x3ee3b557 +// 0.037872 +0x3d1b1ff4 +// -0.856585 +0xbf5b492d +// 0.110369 +0x3de20924 +// -0.651412 +0xbf26c2f6 +// 0.331140 +0x3ea98b35 +// 0.424247 +0x3ed936ec +// 0.395514 +0x3eca80c4 +// 0.376114 +0x3ec091f9 +// -0.059346 +0xbd731479 +// -0.612822 +0xbf1ce1e4 +// 0.014065 +0x3c666f67 +// 0.642141 +0x3f246361 +// -0.090298 +0xbdb8ee16 +// 0.000011 +0x37396e24 +// 0.119581 +0x3df4e6f5 +// 0.443698 +0x3ee32c67 +// -0.504014 +0xbf010715 +// -0.059853 +0xbd752833 +// -0.326153 +0xbea6fd77 +// -0.014667 +0xbc704da5 +// 0.135290 +0x3e0a898d +// -0.645422 +0xbf253a59 diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Coefs1_q15.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Coefs1_q15.txt index 522a45d6..faab9108 100755 --- a/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Coefs1_q15.txt +++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Coefs1_q15.txt @@ -1,130 +1,130 @@ H 64 -// -0.255773 -0xDF43 -// 0.059096 -0x0790 -// -0.103634 -0xF2BC -// -0.183707 -0xE87C -// 0.019300 -0x0278 -// 0.407040 -0x341A -// -0.342210 -0xD432 -// -0.335689 -0xD508 -// 0.063671 -0x0826 -// -0.172740 -0xE9E4 -// -0.217219 -0xE432 -// -0.169368 -0xEA52 -// 0.717998 -0x5BE7 -// 0.326003 -0x29BA +// 0.241055 +0x1EDB +// -0.014639 +0xFE20 +// 0.313550 +0x2822 +// 0.599121 +0x4CB0 +// 0.413966 +0x34FD +// -0.426701 +0xC962 +// 0.469578 +0x3C1B +// -0.539162 +0xBAFD +// -0.036689 +0xFB4E +// 0.313468 +0x2820 +// 0.125990 +0x1020 +// -0.151933 +0xEC8D +// -0.136097 +0xEE94 +// 0.270558 +0x22A2 +// 0.214267 +0x1B6D +// 0.112738 +0x0E6E +// 0.492202 +0x3F00 +// 0.040656 +0x0534 +// 0.550637 +0x467B +// -0.426367 +0xC96D +// 0.000898 +0x001D +// -0.535114 +0xBB81 +// -0.642339 +0xADC8 // 1.000000 0x7FFF -// -0.059778 -0xF859 -// 0.441343 -0x387E -// 0.194041 -0x18D6 -// 0.025980 -0x0353 -// 0.206521 -0x1A6F -// -0.387758 -0xCE5E -// -0.248954 -0xE022 -// 0.726524 -0x5CFF -// 0.043741 -0x0599 -// -0.168825 -0xEA64 -// -0.054779 -0xF8FD -// -0.321292 -0xD6E0 -// -0.290947 -0xDAC2 -// 0.256307 -0x20CF -// 0.476763 -0x3D07 -// -0.361268 -0xD1C2 -// -0.322948 -0xD6AA -// -0.021756 -0xFD37 -// -0.026559 -0xFC9A -// 0.384753 -0x3140 -// -0.438385 -0xC7E3 -// 0.282340 -0x2424 -// -0.387216 -0xCE70 -// 0.292089 -0x2563 -// -0.064482 -0xF7BF -// -0.015871 -0xFDF8 -// 0.556604 -0x473F -// 0.257964 -0x2105 -// 0.415631 -0x3533 -// -0.333850 -0xD544 -// -0.191197 -0xE787 -// -0.140413 -0xEE07 -// 0.309781 -0x27A7 -// 0.035575 -0x048E -// -0.267529 -0xDDC2 -// -0.380216 -0xCF55 -// -0.381696 -0xCF25 -// -0.130219 -0xEF55 -// -0.100136 -0xF32F -// 0.125777 -0x1019 -// -0.523123 -0xBD0A -// 0.092632 -0x0BDB -// -0.722456 -0xA387 -// 0.253678 -0x2079 -// -0.468343 -0xC40D -// -0.493890 -0xC0C8 -// -0.400808 -0xCCB2 -// 0.543687 -0x4598 -// -0.018046 -0xFDB1 +// -0.187485 +0xE800 +// 0.194997 +0x18F6 +// -0.026221 +0xFCA5 +// -0.415383 +0xCAD5 +// -0.038145 +0xFB1E +// 0.094108 +0x0C0C +// -0.332432 +0xD573 +// -0.522480 +0xBD1F +// -0.527396 +0xBC7E +// 0.108861 +0x0DEF +// 0.254822 +0x209E +// 0.078591 +0x0A0F +// -0.238323 +0xE17F +// -0.372518 +0xD051 +// 0.224525 +0x1CBD +// 0.146885 +0x12CD +// -0.240213 +0xE141 +// 0.010133 +0x014C +// 0.261761 +0x2181 +// -0.713404 +0xA4AF +// -0.414405 +0xCAF5 +// -0.864016 +0x9168 +// 0.017714 +0x0244 +// -0.320153 +0xD705 +// -0.624021 +0xB020 +// 0.036300 +0x04A5 +// -0.056065 +0xF8D3 +// -0.415114 +0xCADE +// 0.405900 +0x33F5 +// 0.172821 +0x161F +// 0.359292 +0x2DFD +// -0.541108 +0xBABD +// 0.325498 +0x29AA +// -0.594151 +0xB3F3 +// 0.154654 +0x13CC +// -0.075563 +0xF654 +// -0.806288 +0x98CC +// 0.071565 +0x0929 +// -0.152418 +0xEC7E +// 0.078497 +0x0A0C diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Samples1_q15.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Samples1_q15.txt index f97b8c5c..5485e6d7 100755 --- a/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Samples1_q15.txt +++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Samples1_q15.txt @@ -1,514 +1,514 @@ H 256 -// 0.082222 -0x0A86 -// -0.089279 -0xF493 -// -0.391492 -0xCDE4 -// -0.049688 -0xF9A4 -// 0.483742 -0x3DEB -// 0.073141 -0x095D -// 0.238437 -0x1E85 -// -0.417302 -0xCA96 -// 0.291634 -0x2554 -// -0.083442 -0xF552 -// 0.397754 -0x32EA -// -0.189164 -0xE7C9 -// 0.459643 -0x3AD6 -// 0.452571 -0x39EE -// 0.154215 -0x13BD -// -0.318829 -0xD731 -// -0.079214 -0xF5DC -// 0.275339 -0x233E -// -0.034938 -0xFB87 -// -0.416009 -0xCAC0 -// -0.347764 -0xD37C -// -0.046912 -0xF9FF -// -0.261666 -0xDE82 -// 0.302320 -0x26B2 -// 0.164283 -0x1507 -// 0.713559 -0x5B56 -// -0.509862 -0xBEBD -// 0.055121 -0x070E -// 0.319640 -0x28EA -// -0.253551 -0xDF8C -// -0.249748 -0xE008 -// 0.476590 -0x3D01 -// 0.209853 -0x1ADC -// -0.015548 -0xFE03 -// -0.205060 -0xE5C1 -// 0.161946 -0x14BB -// 0.171974 -0x1603 -// -0.563384 -0xB7E3 -// 0.123110 -0x0FC2 -// -0.355967 -0xD270 -// -0.095133 -0xF3D3 -// 0.371084 -0x2F80 -// -0.527113 -0xBC88 -// -0.696722 -0xA6D2 -// 0.378907 -0x3080 -// 0.239510 -0x1EA8 -// 0.102399 -0x0D1B -// -0.631963 -0xAF1C -// 0.031130 -0x03FC -// -0.009390 -0xFECC -// 0.020399 -0x029C -// 0.393563 -0x3260 -// 0.016914 -0x022A -// -0.217849 -0xE41E -// -0.575085 -0xB664 -// 0.812387 -0x67FC -// 0.240486 -0x1EC8 -// -0.361951 -0xD1AC -// -0.335504 -0xD50E -// -0.168223 -0xEA78 -// -0.743051 -0xA0E4 -// -0.043619 -0xFA6B -// -0.310863 -0xD836 -// -0.029316 -0xFC3F -// 0.131297 -0x10CE -// 0.113595 -0x0E8A -// 0.100356 -0x0CD8 -// -0.558552 -0xB881 -// 0.014075 -0x01CD -// -0.138278 -0xEE4D -// 0.037883 -0x04D9 -// -0.516527 -0xBDE2 -// -0.296850 -0xDA01 -// -0.341595 -0xD447 -// 0.143692 -0x1265 -// 0.263395 -0x21B7 -// 0.077694 -0x09F2 -// 0.024725 -0x032A -// -0.010104 -0xFEB5 -// 0.580043 -0x4A3F -// 0.130028 -0x10A5 -// 0.518823 -0x4269 -// 0.086868 -0x0B1E -// 0.298770 -0x263E -// 0.244713 -0x1F53 -// -0.162067 -0xEB41 -// -0.330287 -0xD5B9 -// 0.877286 -0x704B -// 0.152398 -0x1382 -// -0.112907 -0xF18C -// 0.308143 -0x2771 -// 0.292483 -0x2570 -// 0.127521 -0x1053 -// -0.174728 -0xE9A3 -// 0.696882 -0x5933 -// 0.011078 -0x016B -// -0.175140 -0xE995 -// -0.591516 -0xB449 -// -0.627151 -0xAFBA -// 0.715023 -0x5B86 -// -0.197092 -0xE6C6 -// -0.262261 -0xDE6E -// 0.140057 -0x11ED -// 0.020234 -0x0297 -// -0.166700 -0xEAAA -// 0.096668 -0x0C60 -// -0.055512 -0xF8E5 -// -0.154795 -0xEC30 -// -0.051483 -0xF969 -// 0.008470 -0x0116 -// 0.318873 -0x28D1 -// 0.093473 -0x0BF7 -// 0.258515 -0x2117 -// 0.143769 -0x1267 -// 0.361437 -0x2E44 -// -0.105687 -0xF279 -// -0.291595 -0xDAAD -// 0.020658 -0x02A5 -// 0.586449 -0x4B11 -// -0.325095 -0xD663 -// 0.621570 -0x4F90 -// 0.289520 -0x250F -// 0.264774 -0x21E4 -// 0.243436 -0x1F29 -// 0.470433 -0x3C37 -// -0.512296 -0xBE6D -// -0.326047 -0xD644 -// -0.085270 -0xF516 -// 0.751710 -0x6038 -// 0.070373 -0x0902 -// 0.346091 -0x2C4D -// 0.663108 -0x54E1 -// -0.068295 -0xF742 -// 0.076283 -0x09C4 -// 0.099252 -0x0CB4 -// 0.653270 -0x539E -// -0.708494 -0xA550 -// -0.275474 -0xDCBD -// -0.019396 -0xFD84 -// 0.200332 -0x19A4 -// -0.016719 -0xFDDC -// -0.345101 -0xD3D4 -// 0.318367 -0x28C0 -// 0.215359 -0x1B91 -// 0.313418 -0x281E -// -0.179168 -0xE911 -// 0.234745 -0x1E0C -// -0.056418 -0xF8C7 -// -0.012119 -0xFE73 -// 0.042149 -0x0565 -// -0.148507 -0xECFE -// -0.598240 -0xB36D -// -0.195644 -0xE6F5 -// 0.193476 -0x18C4 -// -0.088575 -0xF4AA -// 0.126428 -0x102F -// -0.173845 -0xE9BF -// 0.282263 -0x2421 -// -0.066568 -0xF77B -// 0.129977 -0x10A3 -// -0.960867 -0x8502 -// -0.268871 -0xDD96 -// 0.235197 -0x1E1B -// -0.069243 -0xF723 -// -0.392238 -0xCDCB -// 0.138249 -0x11B2 -// -0.100329 -0xF328 -// 0.644981 -0x528F -// -0.019252 -0xFD89 -// -0.768237 -0x9DAA -// 0.007197 -0x00EC -// -0.090122 -0xF477 -// 0.338558 -0x2B56 -// 0.165802 -0x1539 -// -0.187522 -0xE7FF -// -0.140018 -0xEE14 -// -0.246163 -0xE07E -// -0.019270 -0xFD89 -// 0.625353 -0x500C -// 0.171374 -0x15F0 -// 0.314887 -0x284E -// -0.363948 -0xD16A -// -0.261294 -0xDE8E -// -0.538536 -0xBB11 -// 0.235411 -0x1E22 -// -0.360312 -0xD1E1 -// 0.396939 -0x32CF -// 0.389625 -0x31DF -// 0.478623 -0x3D44 -// -0.262208 -0xDE70 -// -0.552576 -0xB945 -// 0.307798 -0x2766 -// 0.260817 -0x2162 -// -0.047789 -0xF9E2 -// -0.188128 -0xE7EB -// -0.111198 -0xF1C4 -// -0.265623 -0xDE00 -// 0.205916 -0x1A5B -// -0.284577 -0xDB93 -// 0.321585 -0x292A -// -0.555871 -0xB8D9 -// -0.315266 -0xD7A5 -// 0.459378 -0x3ACD -// 0.188785 -0x182A -// 0.086039 -0x0B03 -// -0.537515 -0xBB33 -// 0.560959 -0x47CE -// 0.148830 -0x130D -// 0.014325 -0x01D5 -// -0.537100 -0xBB40 -// -0.134269 -0xEED0 -// 0.358874 -0x2DF0 -// -0.069110 -0xF727 -// -0.235293 -0xE1E2 -// 0.373251 -0x2FC7 -// -0.207266 -0xE578 -// 0.297594 -0x2618 -// 0.638366 -0x51B6 -// -0.274554 -0xDCDB -// 0.363710 -0x2E8E -// 0.076025 -0x09BB -// -0.343576 -0xD406 -// 0.047198 -0x060B -// 0.321303 -0x2920 -// 0.077620 -0x09EF -// 0.498484 -0x3FCE -// -0.029427 -0xFC3C -// -0.188317 -0xE7E5 -// 0.118588 -0x0F2E -// -0.244890 -0xE0A7 -// -0.421313 -0xCA12 -// 0.003262 -0x006B -// 0.118946 -0x0F3A +// 0.012194 +0x0190 +// 0.030149 +0x03DC +// 0.048908 +0x0643 +// 0.148038 +0x12F3 +// 0.498431 +0x3FCD +// 0.235160 +0x1E1A +// 0.407044 +0x341A +// 0.081352 +0x0A6A +// -0.126542 +0xEFCD +// 0.028525 +0x03A7 +// 0.282346 +0x2424 +// -0.355487 +0xD27F +// -0.298541 +0xD9C9 +// 0.211683 +0x1B18 +// 0.521640 +0x42C5 +// -0.122483 +0xF052 +// -0.251689 +0xDFC9 +// -0.059389 +0xF866 +// 0.057955 +0x076B +// -0.658568 +0xABB4 +// 0.104445 +0x0D5E +// -0.407609 +0xCBD3 +// 0.082370 +0x0A8B +// 0.692339 +0x589F +// 0.760500 +0x6158 +// -0.535721 +0xBB6D +// -0.307158 +0xD8AF +// -0.140140 +0xEE10 +// 0.208149 +0x1AA5 +// -0.006599 +0xFF28 +// -0.286835 +0xDB49 +// -0.272556 +0xDD1D +// -0.078135 +0xF600 +// -0.281646 +0xDBF3 +// 0.146343 +0x12BB +// 0.366917 +0x2EF7 +// 0.472185 +0x3C71 +// 0.560794 +0x47C8 +// 0.154263 +0x13BF +// 0.558174 +0x4772 +// 0.319943 +0x28F4 +// 0.252529 +0x2053 +// 0.053148 +0x06CE +// 0.069188 +0x08DB +// 0.417009 +0x3561 +// 0.023920 +0x0310 +// -0.044947 +0xFA3F +// 0.210973 +0x1B01 +// 0.415362 +0x352B +// -0.456423 +0xC594 +// 0.284419 +0x2468 +// -0.318718 +0xD734 +// 0.133058 +0x1108 +// 0.021529 +0x02C1 +// 0.480076 +0x3D73 +// -0.125730 +0xEFE8 +// -0.274735 +0xDCD5 +// 0.306565 +0x273E +// -0.087039 +0xF4DC +// 0.089996 +0x0B85 +// -0.129581 +0xEF6A +// 0.030531 +0x03E8 +// 0.195912 +0x1914 +// -0.053914 +0xF919 +// 0.760131 +0x614C +// -0.007288 +0xFF11 +// 0.363333 +0x2E82 +// 0.164914 +0x151C +// -0.502004 +0xBFBE +// -0.281363 +0xDBFC +// -0.015334 +0xFE0A +// -0.653548 +0xAC59 +// 0.098437 +0x0C9A +// -0.057821 +0xF899 // 1.000000 0x7FFF -// -0.180269 -0xE8ED -// 0.332956 -0x2A9E -// 0.081293 -0x0A68 -// -0.056048 -0xF8D3 -// 0.292264 -0x2569 -// -0.079989 -0xF5C3 -// 0.064957 -0x0851 -// 0.169493 -0x15B2 -// 0.254917 -0x20A1 -// 0.332318 -0x2A89 -// 0.357179 -0x2DB8 -// 0.027901 -0x0392 -// 0.186360 -0x17DB -// 0.462699 -0x3B3A -// -1.077682 +// -0.146028 +0xED4F +// -0.455083 +0xC5C0 +// 0.130643 +0x10B9 +// -0.104310 +0xF2A6 +// -0.260175 +0xDEB3 +// -0.450629 +0xC652 +// -0.408942 +0xCBA8 +// 0.085729 +0x0AF9 +// -0.249142 +0xE01C +// 0.067073 +0x0896 +// 0.656984 +0x5418 +// 0.076201 +0x09C1 +// -0.241577 +0xE114 +// 0.599448 +0x4CBB +// 0.018585 +0x0261 +// -0.132694 +0xEF04 +// -0.021525 +0xFD3F +// -0.406515 +0xCBF7 +// -0.109117 +0xF208 +// -0.168731 +0xEA67 +// 0.555268 +0x4713 +// 0.219876 +0x1C25 +// -0.335800 +0xD505 +// 0.773628 +0x6306 +// -0.240396 +0xE13B +// -0.209992 +0xE51F +// 0.353512 +0x2D40 +// -0.199604 +0xE673 +// -0.389551 +0xCE23 +// -0.511854 +0xBE7C +// -1.065977 0x8000 -// -0.314274 -0xD7C6 -// -0.133331 -0xEEEF -// -0.388514 -0xCE45 -// -0.284036 -0xDBA5 -// 0.308192 -0x2773 -// 0.599901 -0x4CCA -// 0.192518 -0x18A4 +// 0.552406 +0x46B5 +// 0.236406 +0x1E43 +// -0.337731 +0xD4C5 +// 0.484241 +0x3DFC +// -0.518486 +0xBDA2 +// 0.075437 +0x09A8 +// 0.281559 +0x240A +// -0.305675 +0xD8E0 +// -0.360721 +0xD1D4 +// -0.051762 +0xF960 +// -0.512996 +0xBE56 +// 0.019053 +0x0270 +// 0.035065 +0x047D +// -0.246522 +0xE072 +// 0.213763 +0x1B5D +// -0.046482 +0xFA0D +// 0.107048 +0x0DB4 +// -0.308205 +0xD88D +// -0.208307 +0xE556 +// 0.033139 +0x043E +// -0.200195 +0xE660 +// 0.174226 +0x164D +// 0.204695 +0x1A33 +// -0.166694 +0xEAAA +// 0.058216 +0x0774 +// 0.104483 +0x0D60 +// 0.005447 +0x00B2 +// -0.142644 +0xEDBE +// 0.221721 +0x1C61 +// -0.066561 +0xF77B +// 0.287217 +0x24C4 +// -0.600906 +0xB316 +// -0.335677 +0xD509 +// -0.249776 +0xE007 +// -0.577270 +0xB61C +// -0.039498 +0xFAF2 +// -0.048207 +0xF9D4 +// 0.611219 +0x4E3C +// -0.270605 +0xDD5D +// 0.271667 +0x22C6 +// -0.119976 +0xF0A5 +// 0.198867 +0x1974 +// -0.058492 +0xF883 +// 0.430409 +0x3718 +// -0.222068 +0xE393 +// -0.219049 +0xE3F6 +// -0.069135 +0xF727 +// -0.208781 +0xE547 +// -0.383485 +0xCEEA +// 0.227069 +0x1D11 +// 0.143256 +0x1256 +// 0.206560 +0x1A71 +// 0.450552 +0x39AC +// 0.108368 +0x0DDF +// 0.298625 +0x2639 +// -0.106357 +0xF263 +// 0.329629 +0x2A31 +// 0.576963 +0x49DA +// 0.721685 +0x5C60 +// -0.197549 +0xE6B7 +// 0.067105 +0x0897 +// -0.029165 +0xFC44 +// -0.423490 +0xC9CB +// 0.062112 +0x07F3 +// 0.394277 +0x3278 +// -0.108781 +0xF213 +// 0.255186 +0x20AA +// -0.253932 +0xDF7F +// 0.091654 +0x0BBB +// 0.208978 +0x1AC0 +// -0.251721 +0xDFC8 +// -0.089479 +0xF48C +// -0.249246 +0xE019 +// -0.258524 +0xDEE9 +// 0.178950 +0x16E8 +// -0.546707 +0xBA06 +// -0.102485 +0xF2E2 +// 0.154796 +0x13D0 +// 0.560333 +0x47B9 +// 0.571062 +0x4919 +// 0.171567 +0x15F6 +// -0.374788 +0xD007 +// -0.705719 +0xA5AB +// -0.115081 +0xF145 +// 0.048415 +0x0632 +// 0.157532 +0x142A +// 0.277594 +0x2388 +// 0.105387 +0x0D7D +// -0.000665 +0xFFEA +// -0.010541 +0xFEA7 +// -0.288351 +0xDB17 +// 0.469919 +0x3C26 +// 0.486955 +0x3E55 +// -0.497551 +0xC050 +// 0.111583 +0x0E48 +// -0.128284 +0xEF94 +// 0.311918 +0x27ED +// -0.115170 +0xF142 +// 0.091429 +0x0BB4 +// 0.355869 +0x2D8D +// 0.292696 +0x2577 +// -0.146867 +0xED33 +// 0.374855 +0x2FFB +// 0.161100 +0x149F +// 0.456812 +0x3A79 +// -0.135559 +0xEEA6 +// -0.219813 +0xE3DD +// 0.854349 +0x6D5B +// 0.292971 +0x2580 +// 0.124217 +0x0FE6 +// 0.045142 +0x05C7 +// -0.163939 +0xEB04 +// 0.313037 +0x2812 +// 0.827022 +0x69DC +// -0.116974 +0xF107 +// 0.314090 +0x2834 +// -0.065968 +0xF78E +// 0.220606 +0x1C3D +// -0.142293 +0xEDC9 +// -0.215482 +0xE46B +// 0.032489 +0x0429 +// -0.321396 +0xD6DD +// -0.163564 +0xEB10 +// 0.072574 +0x094A +// -0.043600 +0xFA6B +// -0.653443 +0xAC5C +// -0.710085 +0xA51C +// -0.129526 +0xEF6C +// -0.251943 +0xDFC0 +// 0.381590 +0x30D8 +// 0.117006 +0x0EFA +// -0.223538 +0xE363 +// 0.344203 +0x2C0F +// 0.682202 +0x5752 +// -0.154436 +0xEC3B +// -0.123004 +0xF041 +// 0.051396 +0x0694 +// -0.254843 +0xDF61 +// 0.198676 +0x196E +// 0.080621 +0x0A52 +// -0.487659 +0xC194 +// 0.170416 +0x15D0 +// 0.399737 +0x332B +// -0.242699 +0xE0EF +// 0.129726 +0x109B +// -0.404413 +0xCC3C +// 0.766374 +0x6219 +// 0.165054 +0x1521 +// 0.196113 +0x191A +// -0.343417 +0xD40B diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Coefs1_q31.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Coefs1_q31.txt index c1d6c90b..3130408e 100755 --- a/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Coefs1_q31.txt +++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Coefs1_q31.txt @@ -1,130 +1,130 @@ W 64 -// 0.337838 -0x2B3E481A -// 0.335133 -0x2AE5A201 -// 0.056751 -0x07439D1F -// -0.073284 -0xF69EA07D -// -0.093873 -0xF3FBFA2E -// 0.603471 -0x4D3E872B -// -0.398383 -0xCD01C551 -// -0.044358 -0xFA527A8C +// 0.802327 +0x66B2A428 +// 0.048582 +0x0637F129 +// 0.433256 +0x3774EBBE +// 0.097385 +0x0C771F40 +// 0.479860 +0x3D6C0F64 +// 0.241366 +0x1EE51515 +// 0.527889 +0x4391DE66 +// 0.116093 +0x0EDC2288 +// -0.621934 +0xB064792D +// -0.309842 +0xD85715FA +// -0.171168 +0xEA1728C6 +// 0.159144 +0x145ED7B2 +// 0.560983 +0x47CE49B7 +// 0.090194 +0x0B8B7C3D +// 0.322986 +0x29579A12 +// 0.147559 +0x12E3336A +// 0.202091 +0x19DE21CA +// -0.178780 +0xE91DBF15 +// -0.000769 +0xFFE6CCD1 +// -0.024912 +0xFCCFAFD8 +// -0.535348 +0xBB79BA3F +// 0.235166 +0x1E19E84A +// 0.635739 +0x515FE297 +// 0.363205 +0x2E7D836F +// 0.357239 +0x2DBA0211 +// 0.406864 +0x34141FAD +// 0.545942 +0x45E16FEA +// 0.201545 +0x19CC3A5E +// 0.566024 +0x48737993 +// 0.801325 +0x6691D55B +// 0.373777 +0x2FD7EB1A +// -0.819260 +0x9722790F +// 0.069856 +0x08F10E32 +// -0.013704 +0xFE3EF689 +// -0.156115 +0xEC046FCA +// 0.323773 +0x2971665A +// -0.668367 +0xAA72F1B5 +// -1.029560 +0x80000000 +// -0.542805 +0xBA8559F8 +// -0.661903 +0xAB46C4DA +// 0.328165 +0x2A014DCD +// 0.097221 +0x0C71BC6A +// -0.606980 +0xB24E7948 +// 0.512422 +0x41970E51 +// -0.091632 +0xF4456502 +// -0.384378 +0xCECCB43C +// -0.480994 +0xC26EC6A4 +// -0.232211 +0xE246E9E0 +// -0.007015 +0xFF1A1F8C +// 0.011177 +0x016E3BA7 +// 0.191536 +0x18844493 +// -0.374624 +0xD00C539B +// 0.137967 +0x11A8E82A // 1.000000 0x7FFFFFFF -// 0.241327 -0x1EE3CBEE -// 0.274723 -0x232A1D02 -// 0.163226 -0x14E49A7E -// 0.458148 -0x3AA4994A -// -0.351976 -0xD2F27071 -// 0.507448 -0x40F40B3D -// -0.006613 -0xFF274C36 -// -0.175333 -0xE98EB0D7 -// 0.255245 -0x20ABE188 -// -0.504271 -0xBF740B5C -// 0.057761 -0x0764B6B9 -// 0.175544 -0x16783708 -// -0.065540 -0xF79C65F7 -// 0.194676 -0x18EB20D3 -// 0.224152 -0x1CB106CD -// -0.414730 -0xCAEA1DBC -// -0.491006 -0xC126B858 -// 0.046846 -0x05FF1010 -// -0.021793 -0xFD35E223 -// 0.241999 -0x1EF9D164 -// 0.569330 -0x48DFD064 -// 0.524831 -0x432DAA9C -// 0.063312 -0x081A9B35 -// 0.285124 -0x247EEE57 -// -0.090669 -0xF464F328 -// 0.001040 -0x0022160D -// 0.016204 -0x0212F53D -// 0.055975 -0x072A2CCA -// -0.596260 -0xB3ADC2C1 -// -0.695282 -0xA700FD96 -// 0.469239 -0x3C1003CB -// -0.396653 -0xCD3A7A51 -// -0.389939 -0xCE167C8D -// 0.644271 -0x52777846 -// 0.054173 -0x06EF20D6 -// -0.295808 -0xDA22F428 -// -0.428808 -0xC91CD50A -// -0.410231 -0xCB7D8C68 -// -0.025915 -0xFCAED434 -// 0.146305 -0x12BA22AD -// -0.417631 -0xCA8B0E34 -// -0.219538 -0xE3E62A12 -// -0.001634 -0xFFCA71F7 -// 0.014981 -0x01EAE1DC -// -0.365560 -0xD135526C -// 0.269063 -0x2270A6BB -// -0.172023 -0xE9FB2768 -// 0.609680 -0x4E0A016D -// 0.183518 -0x177D82B6 -// -0.053841 -0xF91BBB17 -// 0.097171 -0x0C701940 -// -0.307550 -0xD8A23471 -// -0.137495 -0xEE6692D1 -// -0.047563 -0xF9E9761A -// 0.072156 -0x093C645F +// 0.378356 +0x306DFC29 +// 0.194670 +0x18EAEE35 +// 0.414865 +0x351A4C1D +// -0.581486 +0xB591DED5 +// 0.030270 +0x03DFE433 +// 0.404608 +0x33CA3439 +// -0.020600 +0xFD5CF95F +// 0.332379 +0x2A8B62B6 +// 0.865464 +0x6EC782C7 +// -0.036174 +0xFB5EA345 diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Samples1_q31.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Samples1_q31.txt index 52c1a403..c1c1e620 100755 --- a/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Samples1_q31.txt +++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Samples1_q31.txt @@ -1,514 +1,514 @@ W 256 -// -0.612984 -0xB189B9CA -// 0.978303 -0x7D390C34 -// 0.112755 -0x0E6EC219 -// -0.152481 -0xEC7B837E -// -0.194919 -0xE70CE299 -// -0.608620 -0xB218BC04 -// 0.101126 -0x0CF1B4E5 -// 0.088361 -0x0B4F6C0A -// -0.153115 -0xEC66B65A -// 0.022671 -0x02E6E1BC -// -0.933870 -0x8876F41E -// 0.252193 -0x2047DBDE -// 0.543481 -0x4590CB00 -// -0.414855 -0xCAE605A8 -// -0.057720 -0xF89CA0C0 -// -0.447992 -0xC6A835B5 -// -0.413526 -0xCB1191F9 -// -0.360541 -0xD1D9C755 -// 0.562940 -0x480E6996 -// -0.176659 -0xE9633EFD -// -0.363796 -0xD16F2475 -// -0.075588 -0xF6532153 -// -0.795797 -0x9A23570D -// -0.265142 -0xDE0FD49C -// 0.231385 -0x1D9E06A8 -// 0.004903 -0x00A0A57E -// 0.387149 -0x318E1AC8 -// 0.360070 -0x2E16C31F -// -0.314276 -0xD7C5D060 -// -0.646427 -0xAD41E159 -// 0.232967 -0x1DD1DA10 -// -0.150948 -0xECADBD37 -// -0.547980 -0xB9DBCD42 -// -0.356123 -0xD26A9270 -// 0.005834 -0x00BF2E09 -// 0.871135 -0x6F815683 -// 0.533506 -0x4449EEDD -// -0.562844 -0xB7F4B6A8 -// 0.422975 -0x36240772 -// 0.967501 -0x7BD70EBF -// 0.327383 -0x29E7AF7B -// 0.895247 -0x729774AB +// 0.082468 +0x0A8E4BD3 +// -0.026062 +0xFCA9FD70 +// 0.247672 +0x1FB3B321 +// -0.136032 +0xEE9684BA +// -0.111472 +0xF1BB4981 +// -0.546158 +0xBA177E64 +// 0.034208 +0x0460EFD4 +// 0.003726 +0x007A162C +// -0.145303 +0xED66B87F +// 0.166799 +0x1559AD2F +// -0.045977 +0xFA1D6F23 +// 0.111767 +0x0E4E5E21 +// -0.027009 +0xFC8AFA1B +// 0.325504 +0x29AA1A5A +// 0.144711 +0x1285E21A +// 0.164852 +0x1519DDD1 +// 0.275629 +0x2347D3A0 +// -0.125196 +0xEFF993CD +// -0.230183 +0xE2895B3F +// -0.399652 +0xCCD8372D +// -0.464183 +0xC495A872 +// 0.234157 +0x1DF8DB45 +// 0.249531 +0x1FF0A0E3 +// 0.042508 +0x0570E490 +// -0.008196 +0xFEF3711C +// 0.340783 +0x2B9EC723 +// 0.380024 +0x30A49DC9 +// 0.062992 +0x08101EC1 +// 0.133558 +0x11186D05 +// -0.106149 +0xF269B63E +// -0.528586 +0xBC574710 +// 0.229628 +0x1D6474C4 +// 0.305912 +0x27281E72 +// -0.147914 +0xED1125E1 +// -0.002322 +0xFFB3ED45 +// 0.045866 +0x05DEECA2 +// -0.145734 +0xED58955F +// -0.189186 +0xE7C8BD76 +// -0.120223 +0xF09C84AE +// -0.360804 +0xD1D12E37 +// 0.536731 +0x44B39919 +// 0.074726 +0x09909E3F +// 0.104289 +0x0D5959FA +// -0.178327 +0xE92C90AC +// -0.025686 +0xFCB65020 +// -0.279809 +0xDC2F3AD3 +// 0.006650 +0x00D9EAED +// 0.556011 +0x472B5ECC +// 0.138666 +0x11BFD2AB +// 0.373534 +0x2FCFF794 +// 0.143641 +0x1262D4EE +// -0.331347 +0xD5966B68 +// -0.104273 +0xF2A72D3C +// 0.036540 +0x04AD5BD0 +// -0.009749 +0xFEC08B32 +// -0.458148 +0xC55B68F4 +// -0.235295 +0xE1E1DA13 +// -0.660048 +0xAB838F37 +// 0.103224 +0x0D3670D2 +// -0.083603 +0xF54C8282 +// 0.020152 +0x029455EE +// 0.082940 +0x0A9DCA13 +// -0.043616 +0xFA6ACD95 +// 0.114760 +0x0EB074DC +// 0.418125 +0x35851F3A +// 0.337963 +0x2B425D64 +// -0.585676 +0xB50894E2 +// 0.026113 +0x0357AD86 +// -0.343675 +0xD40277B9 +// -0.251551 +0xDFCD2B0F +// -0.051170 +0xF973468B +// -0.127282 +0xEFB5365A +// 0.089502 +0x0B74D118 +// -0.062192 +0xF80A18D5 +// 0.280228 +0x23DE85A7 +// 0.041916 +0x055D7FEA +// -0.047020 +0xF9FB3D37 +// -0.220043 +0xE3D59D8F +// 0.164742 +0x151642B0 +// 0.005608 +0x00B7C644 +// 0.056289 +0x07347A69 +// 0.205979 +0x1A5D85FA +// -0.366699 +0xD10FFDFD +// 0.340790 +0x2B9F04A8 +// 0.320445 +0x29045660 +// 0.021415 +0x02BDBC35 +// -0.012011 +0xFE766DF5 +// 0.335919 +0x2AFF64F5 +// -0.396130 +0xCD4B9E23 +// -0.397114 +0xCD2B5FE6 +// -0.216915 +0xE43C21AD +// -0.388267 +0xCE4D40E2 +// 0.016277 +0x02155DAE +// 0.382684 +0x30FBCA56 +// 0.382191 +0x30EBA2D5 +// 0.171027 +0x15E437EE +// -0.458271 +0xC5576248 +// -0.101248 +0xF30A4B60 +// -0.144749 +0xED78DA80 +// -0.233787 +0xE21341F1 +// -0.512921 +0xBE589B2B +// 0.179969 +0x170937C9 +// 0.399241 +0x331A5723 +// -0.025766 +0xFCB3AF30 +// -0.405403 +0xCC1BC329 +// 0.146937 +0x12CED511 +// 0.119826 +0x0F5676CD +// -0.096592 +0xF3A2E39F +// -0.314842 +0xD7B344CC +// 0.468298 +0x3BF1307F +// -0.097761 +0xF37C94C1 +// -0.045316 +0xFA3316AA +// 0.107304 +0x0DBC2537 +// 0.080351 +0x0A48F04B +// -0.017683 +0xFDBC908E +// 0.201599 +0x19CDFB88 +// 0.114601 +0x0EAB3EB5 +// -0.231520 +0xE25D8C4C +// -0.140518 +0xEE037F49 +// 0.150731 +0x134B2657 +// -0.306114 +0xD8D14041 +// -0.154354 +0xEC3E1FD2 +// 0.484865 +0x3E100AC8 +// -0.016689 +0xFDDD254B +// -0.046316 +0xFA124FAD +// -0.177631 +0xE9435F7F +// 0.213530 +0x1B54F1E3 +// -0.197677 +0xE6B2855D +// 0.024613 +0x032687B7 +// 0.166129 +0x1543B966 +// 0.191998 +0x1893626D +// 0.105742 +0x0D88F5B9 +// 0.005400 +0x00B0F59D +// 0.063165 +0x0815CBC1 +// -0.255786 +0xDF4264E3 +// -0.016611 +0xFDDFB266 +// -0.390186 +0xCE0E62E2 +// -0.001616 +0xFFCB09D9 +// 0.506893 +0x40E1DAD0 +// 0.081396 +0x0A6B2E85 +// 0.120726 +0x0F73F707 // 1.000000 0x7FFFFFFF -// 0.510035 -0x4148D79B -// 0.811166 -0x67D445A7 -// 0.516449 -0x421B0429 -// 0.595059 -0x4C2AE4A5 -// -0.033551 -0xFBB49C3A -// -0.224733 -0xE33BF142 -// -0.432899 -0xC896C652 -// 0.257393 -0x20F242CD -// 0.972875 -0x7C872C0C -// 0.031195 -0x03FE3616 -// 0.435472 -0x37BD8DF2 -// 0.914610 -0x7511EF8F -// -0.599201 -0xB34D633E -// -0.807519 -0x98A3373A -// -0.219120 -0xE3F3DCD0 -// -0.182155 -0xE8AF238B -// -0.252902 -0xDFA0EA5D -// 0.095972 -0x0C48CE35 -// -0.544513 -0xBA4D68C4 -// 0.643787 -0x52679FCB -// -0.282574 -0xDBD49BF2 -// 0.649797 -0x532C8E30 -// 0.360337 -0x2E1F883A -// 0.674807 -0x56601182 -// -0.055247 -0xF8EDA897 -// -0.075039 -0xF66521CB -// -0.473589 -0xC3616D25 -// -0.297161 -0xD9F6A1A6 -// 0.246056 -0x1F7EBF4D -// -0.124635 -0xF00BF273 -// 0.329428 -0x2A2AB429 -// 0.037750 -0x04D4FD2B -// -0.171476 -0xEA0D1139 -// -0.085687 -0xF508333A -// -0.823063 -0x96A5E10E -// -0.463553 -0xC4AA4C37 -// -0.161494 -0xEB542C5B -// 0.062885 -0x080C9A94 -// -0.139472 -0xEE25C779 -// -0.544637 -0xBA4958F1 -// -0.230180 -0xE289798E -// 0.015179 -0x01F1606F -// -0.810632 -0x983D38F6 -// -0.178802 -0xE91D0640 -// 0.796758 -0x65FC2CC3 -// 0.091278 -0x0BAF0306 -// -0.902806 -0x8C70DAC5 -// -0.186131 -0xE82CDFEC -// 0.490486 -0x3EC83F8E -// 0.292613 -0x2574560C -// 0.463167 -0x3B490DA0 -// -0.378892 -0xCF8079DF -// 0.307174 -0x27517E4D -// -0.070030 -0xF709415E -// -0.546709 -0xBA056FDA -// 0.922345 -0x760F632D -// 0.071927 -0x0934E951 -// -0.462701 -0xC4C6392E -// -0.597565 -0xB3830100 -// 0.214143 -0x1B69071A -// -0.270301 -0xDD66C627 -// -0.322757 -0xD6AFE8BB -// -0.656137 -0xAC03B42E -// -0.090644 -0xF465C789 -// -0.616402 -0xB119BA11 -// -0.053058 -0xF935614E -// -0.281094 -0xDC0519D7 -// 0.731774 -0x5DAAC916 -// 0.111514 -0x0E4617F0 -// 0.189825 -0x184C2F54 -// 0.010563 -0x015A2501 -// 0.645389 -0x529C1B4F -// 0.060517 -0x07BF03D9 -// 0.243771 -0x1F33E477 -// -0.511739 -0xBE7F540E -// -0.269656 -0xDD7BE83E -// -0.072954 -0xF6A97296 -// -0.158671 -0xEBB0ACC0 -// -0.038935 -0xFB042F3A -// -0.559115 -0xB86EECEA -// -1.150918 -0x80000000 -// 0.135455 -0x11569672 -// 0.073377 -0x09646B8E -// 0.429027 -0x36EA585F -// 0.464741 -0x3B7CA120 -// -0.477327 -0xC2E6EFC9 -// -0.103991 -0xF2B07006 -// 0.411385 -0x34A84560 -// -0.113654 -0xF173C9ED -// -0.478881 -0xC2B40762 -// -0.624759 -0xB007E5C9 -// 0.575442 -0x49A81902 -// -0.433801 -0xC879330D -// 0.547347 -0x460F7AD0 -// -0.129815 -0xEF62388C -// 0.261951 -0x21879862 -// -0.241509 -0xE1163EE1 -// -0.247366 -0xE0564D0E -// 0.598746 -0x4CA3B36A -// 0.119190 -0x0F419D4E -// 0.223387 -0x1C97EF2F -// -0.509580 -0xBEC61591 -// -0.849520 -0x9342EB5D -// 0.481238 -0x3D99350C -// -0.100868 -0xF316C561 -// -0.806229 -0x98CD7FB6 -// 0.142282 -0x12364918 -// 0.058282 -0x0775C73C -// -0.043173 -0xFA795015 -// -0.478335 -0xC2C5EE1D -// -0.494955 -0xC0A55233 -// -0.434113 -0xC86EFC82 -// 0.264183 -0x21D0C1AE -// 0.062292 -0x07F93166 -// -0.733588 -0xA219C8EA -// -0.817336 -0x97618495 -// 0.321419 -0x2924426F -// 0.023404 -0x02FEE33F -// 0.090735 -0x0B9D325F -// 0.096214 -0x0C50BCB0 -// -0.612230 -0xB1A2740B -// 0.135553 -0x1159CB3F -// 0.461980 -0x3B22258D -// 0.199246 -0x1980E280 -// 0.227990 -0x1D2EC6A4 -// -1.068687 -0x80000000 -// -0.346501 -0xD3A5DE79 -// 0.158383 -0x1445E2F1 -// 0.260513 -0x21588171 -// 0.338219 -0x2B4AC02F -// -1.189977 -0x80000000 -// 0.575961 -0x49B918AB -// -1.209420 -0x80000000 -// 0.352781 -0x2D27ECD0 -// 0.090816 -0x0B9FDFEA -// -0.292106 -0xDA9C47A0 -// -0.361095 -0xD1C7A749 -// 0.757047 -0x60E6EDC2 -// -0.574810 -0xB66CA274 -// -0.619107 -0xB0C116A6 -// 0.641964 -0x522BE00E -// -0.477210 -0xC2EAC730 -// -0.290881 -0xDAC46A45 -// -0.821597 -0x96D5E763 -// -0.038277 -0xFB19BC15 -// -0.385193 -0xCEB1FE1C -// 0.318627 -0x28C8C411 -// 0.399959 -0x3331D78A -// 0.951043 -0x79BBC943 -// -0.099127 -0xF34FCE96 -// -0.044477 -0xFA4E9041 -// -0.562893 -0xB7F320C0 -// 0.259019 -0x21278791 -// 0.041155 -0x05448DA6 -// 0.211004 -0x1B022FF1 -// 0.347754 -0x2C833379 -// -0.887941 -0x8E57F337 -// 0.243464 -0x1F29D0ED -// 0.268296 -0x22578269 -// 0.007972 -0x01053B70 -// 0.222171 -0x1C7017BB -// -0.315797 -0xD793F831 -// 0.401594 -0x3367701A -// 0.410887 -0x3497F0FD -// 0.045925 -0x05E0E1ED -// -0.030731 -0xFC11003B -// -0.241576 -0xE1140B84 -// -0.346789 -0xD39C6AE0 -// 0.377006 -0x3041BF65 -// 0.356896 -0x2DAEC42C -// 0.469013 -0x3C089EDB -// -0.014510 -0xFE248D20 -// 0.119725 -0x0F5322B9 -// 0.218845 -0x1C03199D -// -0.083183 -0xF55A4455 -// -0.187852 -0xE7F473E9 -// -0.441535 -0xC77BC3D4 -// -0.587412 -0xB4CFAEE7 -// -0.090510 -0xF46A281F -// -0.188442 -0xE7E11E60 -// -0.489806 -0xC14E0556 -// 0.179069 -0x16EBBD30 -// -0.138550 -0xEE43FAEE -// -0.280109 -0xDC2566A8 -// -0.263168 -0xDE508526 -// -0.106193 -0xF2684591 -// 0.095206 -0x0C2FB947 -// -0.505602 -0xBF487198 -// 0.733373 -0x5DDF2C02 -// -0.263669 -0xDE401620 -// -0.245107 -0xE0A058E2 -// -0.011335 -0xFE8C967F -// -0.180282 -0xE8EC84DC -// -0.244164 -0xE0BF3C79 -// 0.637800 -0x51A37125 -// -1.294689 -0x80000000 -// -0.040343 -0xFAD60654 -// -0.309990 -0xD8523F57 -// 0.381934 -0x30E33907 -// 0.035869 -0x0497592F -// 0.503760 -0x407B354F -// -0.387431 -0xCE68AA0F -// -0.292083 -0xDA9D095A -// -0.477706 -0xC2DA8618 -// -0.843580 -0x94059233 -// 0.500612 -0x40140BD0 -// 0.364637 -0x2EAC6FB7 -// 0.384503 -0x313767BC -// -0.439882 -0xC7B1F65C -// -0.502748 -0xBFA5F6FF -// -0.728649 -0xA2BB9CFF -// -0.629789 -0xAF630EC3 -// 0.649228 -0x5319E41F +// 0.232770 +0x1DCB6B4F +// -0.035009 +0xFB84D274 +// -0.113495 +0xF179008B +// 0.498657 +0x3FD3FFE7 +// 0.109006 +0x0DF3E56F +// 0.288946 +0x24FC2D85 +// 0.645909 +0x52AD2532 +// -0.039443 +0xFAF38C41 +// -0.045987 +0xFA1D171D +// 0.061202 +0x07D57456 +// -0.191641 +0xE7784D48 +// 0.021665 +0x02C5EBC0 +// 0.233615 +0x1DE71B5E +// -0.893733 +0x8D9A2727 +// -0.570901 +0xB6ECBB21 +// -0.286418 +0xDB56A432 +// 0.129831 +0x109E502F +// -0.150132 +0xECC879BF +// 0.560155 +0x47B32AEB +// -0.093574 +0xF405C03B +// -0.003358 +0xFF91F610 +// -0.110740 +0xF1D3478B +// 0.043604 +0x0594D11A +// -0.045784 +0xFA23C27F +// 0.300109 +0x2669F85D +// 0.018581 +0x0260DDAF +// 0.154534 +0x13C7C33D +// -0.161528 +0xEB530BC4 +// 0.326261 +0x29C2E7C3 +// 0.019095 +0x0271B7FF +// -0.307349 +0xD8A8C8C8 +// 0.187853 +0x180B8FBA +// -0.074459 +0xF6781E0A +// -0.098105 +0xF3714DEA +// -0.111328 +0xF1C000C8 +// 0.467354 +0x3BD24052 +// -0.396667 +0xCD3A079B +// -0.651800 +0xAC91D489 +// -0.165415 +0xEAD3B1E7 +// -0.030986 +0xFC08A3DA +// -0.082714 +0xF569A07F +// 0.433082 +0x376F3790 +// -0.374163 +0xD01B7164 +// 0.160470 +0x148A4B76 +// 0.193697 +0x18CB0E2A +// 0.214738 +0x1B7C8B3B +// -0.024892 +0xFCD05629 +// -0.315730 +0xD796297D +// 0.042068 +0x0562798F +// 0.038428 +0x04EB319A +// -0.239665 +0xE152A6B4 +// 0.183601 +0x178040B1 +// 0.167115 +0x15640700 +// -0.201924 +0xE6275CF1 +// -0.272016 +0xDD2E96B1 +// -0.402704 +0xCC742EE8 +// -0.227126 +0xE2ED8616 +// -0.111381 +0xF1BE42F2 +// 0.009357 +0x0132997B +// 0.362333 +0x2E60F069 +// -0.516140 +0xBDEF1E5F +// -0.151726 +0xEC943FFC +// -0.068983 +0xF72B939A +// -0.692564 +0xA75A0E18 +// 0.368593 +0x2F2E0EEF +// -0.043624 +0xFA6A8A43 +// 0.197316 +0x1941A43E +// -0.104008 +0xF2AFDC8B +// -0.106939 +0xF24FD2BB +// -0.180872 +0xE8D92F61 +// 0.192777 +0x18ACEA67 +// -0.185755 +0xE8392E79 +// 0.489112 +0x3E9B3CAD +// 0.013104 +0x01AD60C0 +// 0.072113 +0x093AFED7 +// -0.200479 +0xE656B202 +// -0.041491 +0xFAB06CA4 +// 0.086691 +0x0B18AD52 +// -0.242835 +0xE0EAC5E6 +// 0.180996 +0x172AE298 +// -0.128680 +0xEF8768CE +// 0.400438 +0x33418B62 +// 0.008602 +0x0119E14F +// -0.080374 +0xF5B650DF +// 0.084175 +0x0AC64334 +// 0.483495 +0x3DE32882 +// -0.058310 +0xF8894CE8 +// -0.178979 +0xE9173475 +// 0.242702 +0x1F10DCE8 +// 0.308474 +0x277C1224 +// 0.268054 +0x224F97B2 +// 0.693952 +0x58D36E7D +// -0.315253 +0xD7A5CBC5 +// 0.416517 +0x355070EE +// 0.362908 +0x2E73C1F8 +// 0.219019 +0x1C08CF90 +// -0.257058 +0xDF18BC26 +// -0.078564 +0xF5F19953 +// 0.263115 +0x21ADBE36 +// 0.029910 +0x03D418E5 +// 0.399695 +0x332937C0 +// 0.172772 +0x161D671D +// 0.385059 +0x31499C22 +// -0.124075 +0xF01E51A3 +// -0.155026 +0xEC281E33 +// 0.353382 +0x2D3BA322 +// -0.663712 +0xAB0B7B3B +// -0.029083 +0xFC46FF31 +// 0.059981 +0x07AD751F +// 0.027025 +0x03759120 +// 0.170991 +0x15E30A59 +// -0.344642 +0xD3E2C610 +// 0.507446 +0x40F3FBB1 +// 0.054249 +0x06F19D7B diff --git a/Testing/Source/Benchmarks/BIQUADF32.cpp b/Testing/Source/Benchmarks/BIQUADF32.cpp index 7ff8fc90..36de135b 100755 --- a/Testing/Source/Benchmarks/BIQUADF32.cpp +++ b/Testing/Source/Benchmarks/BIQUADF32.cpp @@ -48,15 +48,33 @@ break; case TEST_BIQUAD_CASCADE_DF2T_F32_2: - samples.reload(BIQUADF32::SAMPLES1_F32_ID,mgr,this->nbSamples); - output.create(this->nbSamples,BIQUADF32::OUT_SAMPLES_F32_ID,mgr); - coefs.reload(BIQUADF32::COEFS1_F32_ID,mgr,this->numStages * 5); - state.create(2*this->numStages,BIQUADF32::STATE_F32_ID,mgr); + samples.reload(BIQUADF32::SAMPLES1_F32_ID,mgr,this->nbSamples); + output.create(this->nbSamples,BIQUADF32::OUT_SAMPLES_F32_ID,mgr); + coefs.reload(BIQUADF32::COEFS1_F32_ID,mgr,this->numStages * 5); + state.create(2*this->numStages,BIQUADF32::STATE_F32_ID,mgr); + + +#if defined(ARM_MATH_NEON) + // For Neon, neonCoefs is the coef array and is bigger + neonCoefs.create(8*this->numStages,BIQUADF32::STATE_F32_ID,mgr); - arm_biquad_cascade_df2T_init_f32(&instBiquadDf2T, + arm_biquad_cascade_df2T_init_f32(&instBiquadDf2T, + this->numStages, + neonCoefs.ptr(), + state.ptr()); + + // Those Neon coefs must be computed from original coefs + arm_biquad_cascade_df2T_compute_coefs_f32(&instBiquadDf2T,this->numStages,coefs.ptr()); +#else + + // For cortex-M, coefs is the coef array + arm_biquad_cascade_df2T_init_f32(&instBiquadDf2T, this->numStages, coefs.ptr(), state.ptr()); + + +#endif break; case TEST_BIQUAD_CASCADE_STEREO_DF2T_F32_3: diff --git a/Testing/Source/Benchmarks/DECIMF32.cpp b/Testing/Source/Benchmarks/DECIMF32.cpp index 0f83ead9..d5a0855f 100755 --- a/Testing/Source/Benchmarks/DECIMF32.cpp +++ b/Testing/Source/Benchmarks/DECIMF32.cpp @@ -27,13 +27,15 @@ samples.reload(DECIMF32::SAMPLES1_F32_ID,mgr,this->nbSamples); coefs.reload(DECIMF32::COEFS1_F32_ID,mgr,this->nbTaps); - state.create(this->nbSamples + this->nbTaps - 1,DECIMF32::STATE_F32_ID,mgr); output.create(this->nbSamples,DECIMF32::OUT_SAMPLES_F32_ID,mgr); switch(id) { case TEST_FIR_DECIMATE_F32_1: this->decimationFactor = *it; + + state.create(this->nbSamples + this->nbTaps - 1,DECIMF32::STATE_F32_ID,mgr); + arm_fir_decimate_init_f32(&instDecim, this->nbTaps, this->decimationFactor, @@ -44,13 +46,19 @@ case TEST_FIR_INTERPOLATE_F32_2: + { this->interpolationFactor = *it; + int phase = this->nbTaps / this->interpolationFactor; + + state.create(this->nbSamples + phase - 1,DECIMF32::STATE_F32_ID,mgr); + arm_fir_interpolate_init_f32(&instInterpol, this->interpolationFactor, this->nbTaps, coefs.ptr(), state.ptr(), this->nbSamples); + } break; diff --git a/Testing/addAllBenchToDatabase.bat b/Testing/addAllBenchToDatabase.bat new file mode 100755 index 00000000..f56964a4 --- /dev/null +++ b/Testing/addAllBenchToDatabase.bat @@ -0,0 +1,24 @@ +echo "Basic Maths" +python addToDB.py -f bench.txt BasicBenchmarks +echo "Complex Maths" +python addToDB.py -f bench.txt ComplexBenchmarks +echo "FIR" +python addToDB.py -f bench.txt FIR +echo "Convolution / Correlation" +python addToDB.py -f bench.txt MISC +echo "Decimation / Interpolation" +python addToDB.py -f bench.txt DECIM +echo "BiQuad" +python addToDB.py -f bench.txt BIQUAD +echo "Controller" +python addToDB.py -f bench.txt Controller +echo "Fast Math" +python addToDB.py -f bench.txt FastMath +echo "Barycenter" +python addToDB.py -f bench.txt SupportBarF32 +echo "Support" +python addToDB.py -f bench.txt Support +echo "Unary Matrix" +python addToDB.py -f bench.txt Unary +echo "Binary Matrix" +python addToDB.py -f bench.txt Binary \ No newline at end of file diff --git a/Testing/addAllBenchToRegressionDatabase.bat b/Testing/addAllBenchToRegressionDatabase.bat new file mode 100755 index 00000000..c8e059f5 --- /dev/null +++ b/Testing/addAllBenchToRegressionDatabase.bat @@ -0,0 +1,24 @@ +echo "Basic Maths" +python addToRegDB.py -f bench.txt BasicBenchmarks +echo "Complex Maths" +python addToRegDB.py -f bench.txt ComplexBenchmarks +echo "FIR" +python addToRegDB.py -f bench.txt FIR +echo "Convolution / Correlation" +python addToRegDB.py -f bench.txt MISC +echo "Decimation / Interpolation" +python addToRegDB.py -f bench.txt DECIM +echo "BiQuad" +python addToRegDB.py -f bench.txt BIQUAD +echo "Controller" +python addToRegDB.py -f bench.txt Controller +echo "Fast Math" +python addToRegDB.py -f bench.txt FastMath +echo "Barycenter" +python addToRegDB.py -f bench.txt SupportBarF32 +echo "Support" +python addToRegDB.py -f bench.txt Support +echo "Unary Matrix" +python addToRegDB.py -f bench.txt Unary +echo "Binary Matrix" +python addToRegDB.py -f bench.txt Binary \ No newline at end of file diff --git a/Testing/addToDB.py b/Testing/addToDB.py index 580e2139..514df546 100755 --- a/Testing/addToDB.py +++ b/Testing/addToDB.py @@ -55,7 +55,7 @@ def diff(first, second): def getColumns(elem,full): colsToKeep=[] cols = list(full.columns) - params = list(joinit(elem.params.full,",")) + params = list(elem.params.full) common = diff(cols + ["TYPE"] , ['OLDID'] + params) for field in common: @@ -75,8 +75,8 @@ def createTableIfMissing(conn,elem,tableName,full): if not tableExists(conn,tableName): sql = "CREATE TABLE %s (" % tableName cols = list(full.columns) - params = list(joinit(elem.params.full,",")) - common = diff(cols + ["TYPE"] , ['OLDID'] + params) + params = list(elem.params.full) + common = diff(cols + ["TYPE"] , ['OLDID'] + params) sql += "%sid INTEGER PRIMARY KEY" % (tableName) start = "," @@ -104,7 +104,6 @@ def createTableIfMissing(conn,elem,tableName,full): sql += "FOREIGN KEY(coreid) REFERENCES CORE(coreid)," sql += "FOREIGN KEY(compilerid) REFERENCES COMPILER(compilerid)" sql += " )" - #print(sql) conn.execute(sql) # Find the key or add it in a table @@ -148,7 +147,7 @@ def addRows(conn,elem,tableName,full): # different from the columns in the table keep = getColumns(elem,full) cols = list(full.columns) - params = list(joinit(elem.params.full,",")) + params = list(elem.params.full) common = diff(["TYPE"] + cols , ['OLDID'] + params) colNameList = [] for c in params + keep: diff --git a/Testing/addToRegDB.py b/Testing/addToRegDB.py new file mode 100755 index 00000000..39f3bfe6 --- /dev/null +++ b/Testing/addToRegDB.py @@ -0,0 +1,296 @@ +# Process the test results +# Test status (like passed, or failed with error code) + +import argparse +import re +import TestScripts.NewParser as parse +import TestScripts.CodeGen +from collections import deque +import os.path +import numpy as np +import pandas as pd +import statsmodels.api as sm +import statsmodels.formula.api as smf +import csv +import TestScripts.Deprecate as d +import sqlite3 +import datetime, time +import re + +# For table creation +MKSTRFIELD=['NAME','Regression'] +MKBOOLFIELD=['HARDFP', 'FASTMATH', 'NEON', 'UNROLL', 'ROUNDING','OPTIMIZED'] +MKINTFIELD=['ID', 'MAX','MAXREGCOEF'] +MKDATEFIELD=['DATE'] +MKKEYFIELD=['CATEGORY', 'PLATFORM', 'CORE', 'COMPILER','TYPE'] +MKKEYFIELDID={'CATEGORY':'categoryid', + 'PLATFORM':'platformid', + 'CORE':'coreid', + 'COMPILER':'compilerid', + 'TYPE':'typeid'} + +# For table value extraction +VALSTRFIELD=['NAME','VERSION','Regression'] +VALBOOLFIELD=['HARDFP', 'FASTMATH', 'NEON', 'UNROLL', 'ROUNDING','OPTIMIZED'] +VALINTFIELD=['ID', 'MAX','MAXREGCOEF'] +VALDATEFIELD=['DATE'] +VALKEYFIELD=['CATEGORY', 'PLATFORM', 'CORE', 'COMPILER','TYPE'] + +def joinit(iterable, delimiter): + it = iter(iterable) + yield next(it) + for x in it: + yield delimiter + yield x + +def tableExists(c,tableName): + req=(tableName,) + r=c.execute("SELECT name FROM sqlite_master WHERE type='table' AND name=?",req) + return(r.fetchone() != None) + +def diff(first, second): + second = set(second) + return [item for item in first if item not in second] + +def getColumns(elem,full): + colsToKeep=[] + cols = list(full.columns) + params=diff(elem.params.full , elem.params.summary) + common = diff(cols + ["TYPE"] , ['OLDID'] + params) + + for field in common: + if field in MKSTRFIELD: + colsToKeep.append(field) + if field in MKINTFIELD: + colsToKeep.append(field) + if field in MKKEYFIELD: + colsToKeep.append(field) + if field in MKDATEFIELD: + colsToKeep.append(field) + if field in MKBOOLFIELD: + colsToKeep.append(field) + return(colsToKeep) + +def createTableIfMissing(conn,elem,tableName,full): + if not tableExists(conn,tableName): + sql = "CREATE TABLE %s (" % tableName + cols = list(full.columns) + params=diff(elem.params.full , elem.params.summary) + common = diff(cols + ["TYPE"] , ['OLDID'] + params) + + sql += "%sid INTEGER PRIMARY KEY" % (tableName) + start = "," + + for field in params: + sql += " %s\n %s INTEGER" % (start,field) + start = "," + + for field in common: + if field in MKSTRFIELD: + sql += "%s\n %s TEXT" % (start,field) + if field in MKINTFIELD: + sql += "%s\n %s INTEGER" % (start,field) + if field in MKKEYFIELD: + sql += "%s\n %s INTEGER" % (start,MKKEYFIELDID[field]) + if field in MKDATEFIELD: + sql += "%s\n %s TEXT" % (start,field) + if field in MKBOOLFIELD: + sql += "%s\n %s INTEGER" % (start,field) + start = "," + # Create foreign keys + sql += "%sFOREIGN KEY(typeid) REFERENCES TYPE(typeid)," % start + sql += "FOREIGN KEY(categoryid) REFERENCES CATEGORY(categoryid)," + sql += "FOREIGN KEY(platformid) REFERENCES PLATFORM(platformid)," + sql += "FOREIGN KEY(coreid) REFERENCES CORE(coreid)," + sql += "FOREIGN KEY(compilerid) REFERENCES COMPILER(compilerid)" + sql += " )" + conn.execute(sql) + +# Find the key or add it in a table +def findInTable(conn,table,keystr,strv,key): + #print(sql) + r = conn.execute("select %s from %s where %s=?" % (key,table,keystr),(strv,)) + result=r.fetchone() + if result != None: + return(result[0]) + else: + conn.execute("INSERT INTO %s(%s) VALUES(?)" % (table,keystr),(strv,)) + conn.commit() + r = conn.execute("select %s from %s where %s=?" % (key,table,keystr),(strv,)) + result=r.fetchone() + if result != None: + #print(result) + return(result[0]) + else: + return(None) + +def findInCompilerTable(conn,kind,version): + #print(sql) + r = conn.execute("select compilerid from COMPILER where compilerkindid=? AND version=?" , (kind,version)) + result=r.fetchone() + if result != None: + return(result[0]) + else: + conn.execute("INSERT INTO COMPILER(compilerkindid,version) VALUES(?,?)" ,(kind,version)) + conn.commit() + r = conn.execute("select compilerid from COMPILER where compilerkindid=? AND version=?" , (kind,version)) + result=r.fetchone() + if result != None: + #print(result) + return(result[0]) + else: + return(None) + + +def addRows(conn,elem,tableName,full): + # List of columns we have in DB which is + # different from the columns in the table + keep = getColumns(elem,full) + cols = list(full.columns) + params=diff(elem.params.full , elem.params.summary) + common = diff(["TYPE"] + cols , ['OLDID'] + params) + colNameList = [] + for c in params + keep: + if c in MKKEYFIELD: + colNameList.append(MKKEYFIELDID[c]) + else: + colNameList.append(c) + colNames = "".join(joinit(colNameList,",")) + #print(colNameList) + #print(colNames) + #print(full) + for index, row in full.iterrows(): + sql = "INSERT INTO %s(%s) VALUES(" % (tableName,colNames) + keys = {} + + # Get data from columns + for field in common: + if field in VALSTRFIELD: + keys[field]=row[field] + if field == "NAME": + name = row[field] + if re.match(r'^.*_f64',name): + keys["TYPE"] = "f64" + if re.match(r'^.*_f32',name): + keys["TYPE"] = "f32" + if re.match(r'^.*_f16',name): + keys["TYPE"] = "f16" + if re.match(r'^.*_q31',name): + keys["TYPE"] = "q31" + if re.match(r'^.*_q15',name): + keys["TYPE"] = "q15" + if re.match(r'^.*_q7',name): + keys["TYPE"] = "q7" + + if re.match(r'^.*_s8',name): + keys["TYPE"] = "s8" + if re.match(r'^.*_u8',name): + keys["TYPE"] = "u8" + if re.match(r'^.*_s16',name): + keys["TYPE"] = "s16" + if re.match(r'^.*_u16',name): + keys["TYPE"] = "u16" + if re.match(r'^.*_s32',name): + keys["TYPE"] = "s32" + if re.match(r'^.*_u32',name): + keys["TYPE"] = "u32" + if re.match(r'^.*_s64',name): + keys["TYPE"] = "s64" + if re.match(r'^.*_u64',name): + keys["TYPE"] = "u64" + + if field in VALINTFIELD: + keys[field]=row[field] + if field in VALDATEFIELD: + keys[field]=row[field] + if field in VALBOOLFIELD: + keys[field]=row[field] + + + # Get foreign keys and create missing data + for field in common: + if field in VALKEYFIELD: + if field == "CATEGORY": + val = findInTable(conn,"CATEGORY","category",row[field],"categoryid") + keys[field]=val + if field == "CORE": + val = findInTable(conn,"CORE","coredef",row[field],"coreid") + keys[field]=val + if field == "PLATFORM": + val = findInTable(conn,"PLATFORM","platform",row[field],"platformid") + keys[field]=val + if field == "TYPE": + val = findInTable(conn,"TYPE","type",keys["TYPE"],"typeid") + keys[field]=val + if field == "COMPILER": + compilerkind = findInTable(conn,"COMPILERKIND","compiler",row[field],"compilerkindid") + compiler = findInCompilerTable(conn,compilerkind,keys["VERSION"]) + keys[field]=compiler + + # Generate sql command + start = "" + for field in params: + sql += " %s\n %d" % (start,row[field]) + start = "," + + for field in keep: + if field in MKSTRFIELD or field in MKDATEFIELD: + sql += " %s\n \"%s\"" % (start,keys[field]) + elif field in keep: + sql += " %s\n %d" % (start,keys[field]) + start = "," + + sql += " )" + #print(sql) + conn.execute(sql) + conn.commit() + +def addOneBenchmark(elem,fullPath,db,group): + full=pd.read_csv(fullPath,dtype={'OLDID': str} ,keep_default_na = False) + full['DATE'] = datetime.datetime.now() + if group: + tableName = group + else: + tableName = elem.data["class"] + conn = sqlite3.connect(db) + createTableIfMissing(conn,elem,tableName,full) + addRows(conn,elem,tableName,full) + conn.close() + + +def addToDB(benchmark,dbpath,elem,group): + if not elem.data["deprecated"]: + if elem.params: + benchPath = os.path.join(benchmark,elem.fullPath(),"regression.csv") + print("Processing %s" % benchPath) + addOneBenchmark(elem,benchPath,dbpath,group) + + for c in elem.children: + addToDB(benchmark,dbpath,c,group) + + + +parser = argparse.ArgumentParser(description='Generate summary benchmarks') + +parser.add_argument('-f', nargs='?',type = str, default=None, help="Test description file path") +parser.add_argument('-b', nargs='?',type = str, default="FullBenchmark", help="Full Benchmark dir path") +#parser.add_argument('-e', action='store_true', help="Embedded test") +parser.add_argument('-o', nargs='?',type = str, default="reg.db", help="Regression benchmark database") + +parser.add_argument('others', nargs=argparse.REMAINDER) + +args = parser.parse_args() + +if args.f is not None: + p = parse.Parser() + # Parse the test description file + root = p.parse(args.f) + d.deprecate(root,args.others) + if args.others: + group=args.others[0] + else: + group=None + addToDB(args.b,args.o,root,group) + +else: + parser.print_help() \ No newline at end of file diff --git a/Testing/bench.txt b/Testing/bench.txt index 01a01201..6fe42413 100755 --- a/Testing/bench.txt +++ b/Testing/bench.txt @@ -690,6 +690,7 @@ group Root { Output OUT_SAMPLES_F32_ID : Output Output STATE_F32_ID : State + Output NEON_COEFS_F32_ID : NeonCoefs Params PARAM1_ID = { NumStages = [1,2,4] diff --git a/Testing/generateAllRegressions.bat b/Testing/generateAllRegressions.bat new file mode 100755 index 00000000..0108a640 --- /dev/null +++ b/Testing/generateAllRegressions.bat @@ -0,0 +1,24 @@ +echo "Basic Maths" +python summaryBench.py -f bench.txt BasicBenchmarks +echo "Complex Maths" +python summaryBench.py -f bench.txt ComplexBenchmarks +echo "FIR" +python summaryBench.py -f bench.txt FIR +echo "Convolution / Correlation" +python summaryBench.py -f bench.txt MISC +echo "Decimation / Interpolation" +python summaryBench.py -f bench.txt DECIM +echo "BiQuad" +python summaryBench.py -f bench.txt BIQUAD +echo "Controller" +python summaryBench.py -f bench.txt Controller +echo "Fast Math" +python summaryBench.py -f bench.txt FastMath +echo "Barycenter" +python summaryBench.py -f bench.txt SupportBarF32 +echo "Support" +python summaryBench.py -f bench.txt Support +echo "Unary Matrix" +python summaryBench.py -f bench.txt Unary +echo "Binary Matrix" +python summaryBench.py -f bench.txt Binary \ No newline at end of file diff --git a/Testing/summaryBench.py b/Testing/summaryBench.py index 2ed840d5..40afcdd0 100644 --- a/Testing/summaryBench.py +++ b/Testing/summaryBench.py @@ -80,7 +80,7 @@ def summaryBenchmark(elem,path): f="".join(f) f = re.sub(r':','*',f) #print(results.summary()) - return(pd.Series({'Regression':"%s" % f,'MAX' : m})) + return(pd.Series({'Regression':"%s" % f,'MAX' : m,'MAXREGCOEF' : results.params.values[-1]})) regList = ['ID','OLDID','CATEGORY','NAME'] + csvheaders + groupList