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.
diff --git a/CMSIS/DSP/Testing/FrameworkInclude/FPGA.h b/CMSIS/DSP/Testing/FrameworkInclude/FPGA.h
index 32fcf02..89a2517 100644
--- a/CMSIS/DSP/Testing/FrameworkInclude/FPGA.h
+++ b/CMSIS/DSP/Testing/FrameworkInclude/FPGA.h
@@ -67,7 +67,7 @@
void ImportPattern_u8(Testing::PatternID_t,char*,Testing::nbSamples_t nb);
void DumpParams(std::vector<Testing::param_t>&);
- 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/CMSIS/DSP/Testing/FrameworkInclude/Semihosting.h b/CMSIS/DSP/Testing/FrameworkInclude/Semihosting.h
index 438f950..c2c599e 100644
--- a/CMSIS/DSP/Testing/FrameworkInclude/Semihosting.h
+++ b/CMSIS/DSP/Testing/FrameworkInclude/Semihosting.h
@@ -71,7 +71,7 @@
void ImportPattern_u8(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0);
void DumpParams(std::vector<Testing::param_t>&);
- 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/CMSIS/DSP/Testing/FrameworkInclude/Test.h b/CMSIS/DSP/Testing/FrameworkInclude/Test.h
index ff8c4e3..3caecb1 100644
--- a/CMSIS/DSP/Testing/FrameworkInclude/Test.h
+++ b/CMSIS/DSP/Testing/FrameworkInclude/Test.h
@@ -102,6 +102,13 @@
// 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 @@
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/CMSIS/DSP/Testing/FrameworkSource/FPGA.cpp b/CMSIS/DSP/Testing/FrameworkSource/FPGA.cpp
index a75936d..9138b46 100644
--- a/CMSIS/DSP/Testing/FrameworkSource/FPGA.cpp
+++ b/CMSIS/DSP/Testing/FrameworkSource/FPGA.cpp
@@ -429,7 +429,7 @@
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 @@
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 @@
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/CMSIS/DSP/Testing/FrameworkSource/IORunner.cpp b/CMSIS/DSP/Testing/FrameworkSource/IORunner.cpp
index 47ce6db..f83ced4 100644
--- a/CMSIS/DSP/Testing/FrameworkSource/IORunner.cpp
+++ b/CMSIS/DSP/Testing/FrameworkSource/IORunner.cpp
@@ -139,6 +139,7 @@
std::vector<Testing::param_t> params(nbParams);
bool canExecute=true;
int dataIndex=0;
+ Testing::ParameterKind paramKind;
// Read test identification (test ID)
m_io->ReadTestIdentification();
@@ -147,7 +148,7 @@
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 @@
}
if (paramData)
{
- free(paramData);
+ if (paramKind == Testing::kDynamicBuffer)
+ {
+ free(paramData);
+ }
paramData = NULL;
}
diff --git a/CMSIS/DSP/Testing/FrameworkSource/Semihosting.cpp b/CMSIS/DSP/Testing/FrameworkSource/Semihosting.cpp
index 29ef390..0cc8e83 100644
--- a/CMSIS/DSP/Testing/FrameworkSource/Semihosting.cpp
+++ b/CMSIS/DSP/Testing/FrameworkSource/Semihosting.cpp
@@ -495,7 +495,7 @@
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 @@
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 @@
{
Testing::param_t* result;
+ paramKind=Testing::kDynamicBuffer;
// Output samples is number of parameter line
len=gen.nbOutputSamples * gen.dimensions;
diff --git a/CMSIS/DSP/Testing/Include/Benchmarks/BIQUADF32.h b/CMSIS/DSP/Testing/Include/Benchmarks/BIQUADF32.h
index 96a4d04..ae2a926 100755
--- a/CMSIS/DSP/Testing/Include/Benchmarks/BIQUADF32.h
+++ b/CMSIS/DSP/Testing/Include/Benchmarks/BIQUADF32.h
@@ -13,6 +13,7 @@
Client::LocalPattern<float32_t> output;
Client::LocalPattern<float32_t> state;
+ Client::LocalPattern<float32_t> neonCoefs;
arm_biquad_casd_df1_inst_f32 instBiquadDf1;
arm_biquad_cascade_df2T_instance_f32 instBiquadDf2T;
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Coefs1_f32.txt b/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Coefs1_f32.txt
index 10a6925..922c798 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Coefs1_f32.txt
+++ b/CMSIS/DSP/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/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Samples1_f32.txt b/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Samples1_f32.txt
index 86679f8..ef0aced 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMF32/Samples1_f32.txt
+++ b/CMSIS/DSP/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/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Coefs1_q15.txt b/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Coefs1_q15.txt
index 522a45d..faab910 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Coefs1_q15.txt
+++ b/CMSIS/DSP/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/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Samples1_q15.txt b/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Samples1_q15.txt
index f97b8c5..5485e6d 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ15/Samples1_q15.txt
+++ b/CMSIS/DSP/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/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Coefs1_q31.txt b/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Coefs1_q31.txt
index c1d6c90..3130408 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Coefs1_q31.txt
+++ b/CMSIS/DSP/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/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Samples1_q31.txt b/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Samples1_q31.txt
index 52c1a40..c1c1e62 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/Filtering/DECIM/DECIMQ31/Samples1_q31.txt
+++ b/CMSIS/DSP/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/CMSIS/DSP/Testing/Source/Benchmarks/BIQUADF32.cpp b/CMSIS/DSP/Testing/Source/Benchmarks/BIQUADF32.cpp
index 7ff8fc9..36de135 100755
--- a/CMSIS/DSP/Testing/Source/Benchmarks/BIQUADF32.cpp
+++ b/CMSIS/DSP/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);
- arm_biquad_cascade_df2T_init_f32(&instBiquadDf2T,
+
+#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,
+ 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/CMSIS/DSP/Testing/Source/Benchmarks/DECIMF32.cpp b/CMSIS/DSP/Testing/Source/Benchmarks/DECIMF32.cpp
index 0f83ead..d5a0855 100755
--- a/CMSIS/DSP/Testing/Source/Benchmarks/DECIMF32.cpp
+++ b/CMSIS/DSP/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/CMSIS/DSP/Testing/addAllBenchToDatabase.bat b/CMSIS/DSP/Testing/addAllBenchToDatabase.bat
new file mode 100755
index 0000000..f56964a
--- /dev/null
+++ b/CMSIS/DSP/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/CMSIS/DSP/Testing/addAllBenchToRegressionDatabase.bat b/CMSIS/DSP/Testing/addAllBenchToRegressionDatabase.bat
new file mode 100755
index 0000000..c8e059f
--- /dev/null
+++ b/CMSIS/DSP/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/CMSIS/DSP/Testing/addToDB.py b/CMSIS/DSP/Testing/addToDB.py
index 580e213..514df54 100755
--- a/CMSIS/DSP/Testing/addToDB.py
+++ b/CMSIS/DSP/Testing/addToDB.py
@@ -55,7 +55,7 @@
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 @@
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 @@
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 @@
# 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/CMSIS/DSP/Testing/addToRegDB.py b/CMSIS/DSP/Testing/addToRegDB.py
new file mode 100755
index 0000000..39f3bfe
--- /dev/null
+++ b/CMSIS/DSP/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/CMSIS/DSP/Testing/bench.txt b/CMSIS/DSP/Testing/bench.txt
index 01a0120..6fe4241 100755
--- a/CMSIS/DSP/Testing/bench.txt
+++ b/CMSIS/DSP/Testing/bench.txt
@@ -690,6 +690,7 @@
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/CMSIS/DSP/Testing/generateAllRegressions.bat b/CMSIS/DSP/Testing/generateAllRegressions.bat
new file mode 100755
index 0000000..0108a64
--- /dev/null
+++ b/CMSIS/DSP/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/CMSIS/DSP/Testing/summaryBench.py b/CMSIS/DSP/Testing/summaryBench.py
index 2ed840d..40afcdd 100644
--- a/CMSIS/DSP/Testing/summaryBench.py
+++ b/CMSIS/DSP/Testing/summaryBench.py
@@ -80,7 +80,7 @@
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