Kaynağa Gözat

Corrected issue #49

Incorrect out of bounds value for linear interpolation (float).
Christophe Favergeon 3 yıl önce
ebeveyn
işleme
633b528421

+ 1 - 1
Source/InterpolationFunctions/arm_linear_interp_f16.c

@@ -62,7 +62,7 @@
     /* Calculation of index */
     i = (int32_t) (((_Float16)x - (_Float16)S->x1) / (_Float16)xSpacing);
 
-    if (i < 0)
+    if (((_Float16)x < (_Float16)S->x1))
     {
       /* Iniatilize output for below specified range as least output value of table */
       y = pYData[0];

+ 1 - 1
Source/InterpolationFunctions/arm_linear_interp_f32.c

@@ -90,7 +90,7 @@
     /* Calculation of index */
     i = (int32_t) ((x - S->x1) / xSpacing);
 
-    if (i < 0)
+    if (x < S->x1)
     {
       /* Iniatilize output for below specified range as least output value of table */
       y = pYData[0];

+ 13 - 4
Testing/PatternGeneration/Interpolate.py

@@ -17,11 +17,12 @@ def writeTests(config,format):
 
     x = np.linspace(0, NBSAMPLES, num=NBSAMPLES+1, endpoint=True)
     y = np.cos(-x**2/(NBSAMPLES - 1))
-    f = interp1d(x, y)
-    data=x+0.5
-    data=data[:-1]
+    f = interp1d(x, y,bounds_error=False,fill_value=(y[0],y[-1]))
+    data=x-0.9
+    data=np.hstack((data,np.array(data[-1]+1.5)))
     z = f(data)
 
+    config.setOverwrite(True)
     if format != 0 and format != 16:
        data = data / 2.0**11
     if format != 0 and format != 16:
@@ -33,6 +34,8 @@ def writeTests(config,format):
     ref = z
     config.writeReference(1, ref)
 
+    config.setOverwrite(False)
+
     # Bilinear interpolation test
     x = np.arange(-3.14, 3.14, 1.0)
     y = np.arange(-3.14, 3.14, 0.8)
@@ -54,7 +57,7 @@ def writeTests(config,format):
 
     # Now we generate other points. The points where we want to evaluate
     # the function.
-    # In Python they must be rescale between -3.14 and tghe max x or max y defined above.
+    # In Python they must be rescale between -3.14 and the max x or max y defined above.
     # In CMSIS they will be between 1 and numRow-1 or numCols-1.
     # Since we add 0.5 to be sure we are between grid point, we use
     # numCols-2 as bound to be sured we are <= numCols-1
@@ -135,6 +138,12 @@ def generatePatterns():
     configq15=Tools.Config(PATTERNDIR,PARAMDIR,"q15")
     configq7=Tools.Config(PATTERNDIR,PARAMDIR,"q7")
     
+    configf32.setOverwrite(False)
+    configf16.setOverwrite(False)
+    configq31.setOverwrite(False)
+    configq15.setOverwrite(False)
+    configq7.setOverwrite(False)
+
     writeTests(configf32,0)
     writeTests(configf16,16)
     writeTests(configq31,31)

+ 85 - 81
Testing/Patterns/DSP/Interpolation/InterpolationF16/Input1_f16.txt

@@ -1,82 +1,86 @@
 H
-40
-// 0.500000
-0x3800
-// 1.500000
-0x3e00
-// 2.500000
-0x4100
-// 3.500000
-0x4300
-// 4.500000
-0x4480
-// 5.500000
-0x4580
-// 6.500000
-0x4680
-// 7.500000
-0x4780
-// 8.500000
-0x4840
-// 9.500000
-0x48c0
-// 10.500000
-0x4940
-// 11.500000
-0x49c0
-// 12.500000
-0x4a40
-// 13.500000
-0x4ac0
-// 14.500000
-0x4b40
-// 15.500000
-0x4bc0
-// 16.500000
-0x4c20
-// 17.500000
-0x4c60
-// 18.500000
-0x4ca0
-// 19.500000
-0x4ce0
-// 20.500000
-0x4d20
-// 21.500000
-0x4d60
-// 22.500000
-0x4da0
-// 23.500000
-0x4de0
-// 24.500000
-0x4e20
-// 25.500000
-0x4e60
-// 26.500000
-0x4ea0
-// 27.500000
-0x4ee0
-// 28.500000
-0x4f20
-// 29.500000
-0x4f60
-// 30.500000
-0x4fa0
-// 31.500000
-0x4fe0
-// 32.500000
-0x5010
-// 33.500000
-0x5030
-// 34.500000
-0x5050
-// 35.500000
-0x5070
-// 36.500000
-0x5090
-// 37.500000
-0x50b0
-// 38.500000
-0x50d0
-// 39.500000
-0x50f0
+42
+// -0.900000
+0xbb33
+// 0.100000
+0x2e66
+// 1.100000
+0x3c66
+// 2.100000
+0x4033
+// 3.100000
+0x4233
+// 4.100000
+0x441a
+// 5.100000
+0x451a
+// 6.100000
+0x461a
+// 7.100000
+0x471a
+// 8.100000
+0x480d
+// 9.100000
+0x488d
+// 10.100000
+0x490d
+// 11.100000
+0x498d
+// 12.100000
+0x4a0d
+// 13.100000
+0x4a8d
+// 14.100000
+0x4b0d
+// 15.100000
+0x4b8d
+// 16.100000
+0x4c06
+// 17.100000
+0x4c46
+// 18.100000
+0x4c86
+// 19.100000
+0x4cc6
+// 20.100000
+0x4d06
+// 21.100000
+0x4d46
+// 22.100000
+0x4d86
+// 23.100000
+0x4dc6
+// 24.100000
+0x4e06
+// 25.100000
+0x4e46
+// 26.100000
+0x4e86
+// 27.100000
+0x4ec6
+// 28.100000
+0x4f06
+// 29.100000
+0x4f46
+// 30.100000
+0x4f86
+// 31.100000
+0x4fc6
+// 32.100000
+0x5003
+// 33.100000
+0x5023
+// 34.100000
+0x5043
+// 35.100000
+0x5063
+// 36.100000
+0x5083
+// 37.100000
+0x50a3
+// 38.100000
+0x50c3
+// 39.100000
+0x50e3
+// 40.600000
+0x5113

+ 84 - 80
Testing/Patterns/DSP/Interpolation/InterpolationF16/Reference1_f16.txt

@@ -1,82 +1,86 @@
 H
-40
-// 0.999836
+42
+// 1.000000
 0x3c00
-// 0.997208
-0x3bfa
-// 0.984118
-0x3bdf
-// 0.945255
-0x3b90
-// 0.859251
-0x3ae0
-// 0.702426
-0x399f
-// 0.456301
-0x374d
-// 0.119531
-0x2fa6
-// -0.277482
-0xb471
-// -0.661314
-0xb94a
-// -0.918537
-0xbb59
-// -0.925695
-0xbb68
-// -0.611097
-0xb8e4
-// -0.030945
-0xa7ec
-// 0.589481
-0x38b7
-// 0.915804
-0x3b54
-// 0.695054
-0x398f
-// -0.004498
-0x9c9b
-// -0.712082
-0xb9b2
-// -0.829765
-0xbaa3
-// -0.183298
-0xb1de
-// 0.647457
-0x392e
-// 0.765024
-0x3a1f
-// -0.024301
-0xa639
-// -0.770387
-0xba2a
-// -0.447708
-0xb72a
-// 0.521104
-0x382b
-// 0.650064
-0x3933
-// -0.298863
-0xb4c8
-// -0.688210
-0xb981
-// 0.207648
-0x32a5
-// 0.656951
-0x3941
-// -0.253282
-0xb40d
-// -0.570816
-0xb891
-// 0.398647
-0x3661
-// 0.379176
-0x3611
-// -0.548368
-0xb863
-// -0.036721
-0xa8b3
-// 0.524152
-0x3831
-// -0.358152
-0xb5bb
+// 0.999967
+0x3c00
+// 0.999179
+0x3bfe
+// 0.992619
+0x3bf1
+// 0.967844
+0x3bbe
+// 0.905465
+0x3b3e
+// 0.781671
+0x3a41
+// 0.573956
+0x3897
+// 0.271292
+0x3457
+// -0.111634
+0xaf25
+// -0.520097
+0xb829
+// -0.853976
+0xbad5
+// -0.984530
+0xbbe0
+// -0.803940
+0xba6e
+// -0.302224
+0xb4d6
+// 0.364419
+0x35d5
+// 0.879807
+0x3b0a
+// 0.907652
+0x3b43
+// 0.342546
+0x357b
+// -0.493059
+0xb7e4
+// -0.954641
+0xbba3
+// -0.575596
+0xb89b
+// 0.375151
+0x3601
+// 0.943276
+0x3b8c
+// 0.428907
+0x36dd
+// -0.626726
+0xb904
+// -0.849512
+0xbacc
+// 0.147858
+0x30bb
+// 0.920142
+0x3b5c
+// 0.190200
+0x3216
+// -0.865797
+0xbaed
+// -0.331452
+0xb54e
+// 0.836609
+0x3ab1
+// 0.295245
+0x34b9
+// -0.865316
+0xbaec
+// -0.082423
+0xad46
+// 0.875822
+0x3b02
+// -0.302978
+0xb4d9
+// -0.691427
+0xb988
+// 0.730160
+0x39d7
+// 0.141684
+0x3089
+// -0.982948
+0xbbdd

+ 85 - 81
Testing/Patterns/DSP/Interpolation/InterpolationF32/Input1_f32.txt

@@ -1,82 +1,86 @@
 W
-40
-// 0.500000
-0x3f000000
-// 1.500000
-0x3fc00000
-// 2.500000
-0x40200000
-// 3.500000
-0x40600000
-// 4.500000
-0x40900000
-// 5.500000
-0x40b00000
-// 6.500000
-0x40d00000
-// 7.500000
-0x40f00000
-// 8.500000
-0x41080000
-// 9.500000
-0x41180000
-// 10.500000
-0x41280000
-// 11.500000
-0x41380000
-// 12.500000
-0x41480000
-// 13.500000
-0x41580000
-// 14.500000
-0x41680000
-// 15.500000
-0x41780000
-// 16.500000
-0x41840000
-// 17.500000
-0x418c0000
-// 18.500000
-0x41940000
-// 19.500000
-0x419c0000
-// 20.500000
-0x41a40000
-// 21.500000
-0x41ac0000
-// 22.500000
-0x41b40000
-// 23.500000
-0x41bc0000
-// 24.500000
-0x41c40000
-// 25.500000
-0x41cc0000
-// 26.500000
-0x41d40000
-// 27.500000
-0x41dc0000
-// 28.500000
-0x41e40000
-// 29.500000
-0x41ec0000
-// 30.500000
-0x41f40000
-// 31.500000
-0x41fc0000
-// 32.500000
-0x42020000
-// 33.500000
-0x42060000
-// 34.500000
-0x420a0000
-// 35.500000
-0x420e0000
-// 36.500000
-0x42120000
-// 37.500000
-0x42160000
-// 38.500000
-0x421a0000
-// 39.500000
-0x421e0000
+42
+// -0.900000
+0xbf666666
+// 0.100000
+0x3dcccccd
+// 1.100000
+0x3f8ccccd
+// 2.100000
+0x40066666
+// 3.100000
+0x40466666
+// 4.100000
+0x40833333
+// 5.100000
+0x40a33333
+// 6.100000
+0x40c33333
+// 7.100000
+0x40e33333
+// 8.100000
+0x4101999a
+// 9.100000
+0x4111999a
+// 10.100000
+0x4121999a
+// 11.100000
+0x4131999a
+// 12.100000
+0x4141999a
+// 13.100000
+0x4151999a
+// 14.100000
+0x4161999a
+// 15.100000
+0x4171999a
+// 16.100000
+0x4180cccd
+// 17.100000
+0x4188cccd
+// 18.100000
+0x4190cccd
+// 19.100000
+0x4198cccd
+// 20.100000
+0x41a0cccd
+// 21.100000
+0x41a8cccd
+// 22.100000
+0x41b0cccd
+// 23.100000
+0x41b8cccd
+// 24.100000
+0x41c0cccd
+// 25.100000
+0x41c8cccd
+// 26.100000
+0x41d0cccd
+// 27.100000
+0x41d8cccd
+// 28.100000
+0x41e0cccd
+// 29.100000
+0x41e8cccd
+// 30.100000
+0x41f0cccd
+// 31.100000
+0x41f8cccd
+// 32.100000
+0x42006666
+// 33.100000
+0x42046666
+// 34.100000
+0x42086666
+// 35.100000
+0x420c6666
+// 36.100000
+0x42106666
+// 37.100000
+0x42146666
+// 38.100000
+0x42186666
+// 39.100000
+0x421c6666
+// 40.600000
+0x42226666

+ 85 - 81
Testing/Patterns/DSP/Interpolation/InterpolationF32/Reference1_f32.txt

@@ -1,82 +1,86 @@
 W
-40
-// 0.999836
-0x3f7ff53b
-// 0.997208
-0x3f7f4908
-// 0.984118
-0x3f7bef25
-// 0.945255
-0x3f71fc36
-// 0.859251
-0x3f5bf7db
-// 0.702426
-0x3f33d232
-// 0.456301
-0x3ee9a049
-// 0.119531
-0x3df4cc6e
-// -0.277482
-0xbe8e122d
-// -0.661314
-0xbf294be6
-// -0.918537
-0xbf6b253e
-// -0.925695
-0xbf6cfa51
-// -0.611097
-0xbf1c70d9
-// -0.030945
-0xbcfd7f9a
-// 0.589481
-0x3f16e834
-// 0.915804
-0x3f6a7228
-// 0.695054
-0x3f31ef13
-// -0.004498
-0xbb9367b4
-// -0.712082
-0xbf364afd
-// -0.829765
-0xbf546b7a
-// -0.183298
-0xbe3bb262
-// 0.647457
-0x3f25bfbd
-// 0.765024
-0x3f43d8a0
-// -0.024301
-0xbcc71299
-// -0.770387
-0xbf453819
-// -0.447708
-0xbee53a07
-// 0.521104
-0x3f056717
-// 0.650064
-0x3f266a9a
-// -0.298863
-0xbe9904a3
-// -0.688210
-0xbf302e8f
-// 0.207648
-0x3e54a1be
-// 0.656951
-0x3f282dea
-// -0.253282
-0xbe81ae2d
-// -0.570816
-0xbf1220fa
-// 0.398647
-0x3ecc1b6e
-// 0.379176
-0x3ec2236a
-// -0.548368
-0xbf0c61d1
-// -0.036721
-0xbd1668f6
-// 0.524152
-0x3f062ed8
-// -0.358152
-0xbeb75fc4
+42
+// 1.000000
+0x3f800000
+// 0.999967
+0x3f7ffdd9
+// 0.999179
+0x3f7fca2c
+// 0.992619
+0x3f7e1c50
+// 0.967844
+0x3f77c498
+// 0.905465
+0x3f67cc8e
+// 0.781671
+0x3f481b9f
+// 0.573956
+0x3f12eec2
+// 0.271292
+0x3e8ae6d2
+// -0.111634
+0xbde4a03e
+// -0.520097
+0xbf05251b
+// -0.853976
+0xbf5a9e28
+// -0.984530
+0xbf7c0a23
+// -0.803940
+0xbf4dcf00
+// -0.302224
+0xbe9abd0d
+// 0.364419
+0x3eba952d
+// 0.879807
+0x3f613b02
+// 0.907652
+0x3f685be3
+// 0.342546
+0x3eaf622b
+// -0.493059
+0xbefc7247
+// -0.954641
+0xbf746355
+// -0.575596
+0xbf135a3f
+// 0.375151
+0x3ec013d8
+// 0.943276
+0x3f717a88
+// 0.428907
+0x3edb99bf
+// -0.626726
+0xbf207123
+// -0.849512
+0xbf5979a4
+// 0.147858
+0x3e176823
+// 0.920142
+0x3f6b8e73
+// 0.190200
+0x3e42c3dd
+// -0.865797
+0xbf5da4da
+// -0.331452
+0xbea9b424
+// 0.836609
+0x3f562c09
+// 0.295245
+0x3e972a62
+// -0.865316
+0xbf5d8558
+// -0.082423
+0xbda8cd5f
+// 0.875822
+0x3f6035e6
+// -0.302978
+0xbe9b1ffb
+// -0.691427
+0xbf310164
+// 0.730160
+0x3f3aebc0
+// 0.141684
+0x3e111592
+// -0.982948
+0xbf7ba27a

+ 85 - 81
Testing/Patterns/DSP/Interpolation/InterpolationQ15/Input1_q31.txt

@@ -1,82 +1,86 @@
 W
-40
-// 0.000244
-0x00080000
-// 0.000732
-0x00180000
-// 0.001221
-0x00280000
-// 0.001709
-0x00380000
-// 0.002197
-0x00480000
-// 0.002686
-0x00580000
-// 0.003174
-0x00680000
-// 0.003662
-0x00780000
-// 0.004150
-0x00880000
-// 0.004639
-0x00980000
-// 0.005127
-0x00A80000
-// 0.005615
-0x00B80000
-// 0.006104
-0x00C80000
-// 0.006592
-0x00D80000
-// 0.007080
-0x00E80000
-// 0.007568
-0x00F80000
-// 0.008057
-0x01080000
-// 0.008545
-0x01180000
-// 0.009033
-0x01280000
-// 0.009521
-0x01380000
-// 0.010010
-0x01480000
-// 0.010498
-0x01580000
-// 0.010986
-0x01680000
-// 0.011475
-0x01780000
-// 0.011963
-0x01880000
-// 0.012451
-0x01980000
-// 0.012939
-0x01A80000
-// 0.013428
-0x01B80000
-// 0.013916
-0x01C80000
-// 0.014404
-0x01D80000
-// 0.014893
-0x01E80000
-// 0.015381
-0x01F80000
-// 0.015869
-0x02080000
-// 0.016357
-0x02180000
-// 0.016846
-0x02280000
-// 0.017334
-0x02380000
-// 0.017822
-0x02480000
-// 0.018311
-0x02580000
-// 0.018799
-0x02680000
-// 0.019287
-0x02780000
+42
+// -0.000439
+0xFFF1999A
+// 0.000049
+0x0001999A
+// 0.000537
+0x0011999A
+// 0.001025
+0x0021999A
+// 0.001514
+0x0031999A
+// 0.002002
+0x0041999A
+// 0.002490
+0x0051999A
+// 0.002979
+0x0061999A
+// 0.003467
+0x0071999A
+// 0.003955
+0x0081999A
+// 0.004443
+0x0091999A
+// 0.004932
+0x00A1999A
+// 0.005420
+0x00B1999A
+// 0.005908
+0x00C1999A
+// 0.006396
+0x00D1999A
+// 0.006885
+0x00E1999A
+// 0.007373
+0x00F1999A
+// 0.007861
+0x0101999A
+// 0.008350
+0x0111999A
+// 0.008838
+0x0121999A
+// 0.009326
+0x0131999A
+// 0.009814
+0x0141999A
+// 0.010303
+0x0151999A
+// 0.010791
+0x0161999A
+// 0.011279
+0x0171999A
+// 0.011768
+0x0181999A
+// 0.012256
+0x0191999A
+// 0.012744
+0x01A1999A
+// 0.013232
+0x01B1999A
+// 0.013721
+0x01C1999A
+// 0.014209
+0x01D1999A
+// 0.014697
+0x01E1999A
+// 0.015186
+0x01F1999A
+// 0.015674
+0x0201999A
+// 0.016162
+0x0211999A
+// 0.016650
+0x0221999A
+// 0.017139
+0x0231999A
+// 0.017627
+0x0241999A
+// 0.018115
+0x0251999A
+// 0.018604
+0x0261999A
+// 0.019092
+0x0271999A
+// 0.019824
+0x0289999A

+ 85 - 81
Testing/Patterns/DSP/Interpolation/InterpolationQ15/Reference1_q15.txt

@@ -1,82 +1,86 @@
 H
-40
-// 0.999836
-0x7FFB
-// 0.997208
-0x7FA5
-// 0.984118
-0x7DF8
-// 0.945255
-0x78FE
-// 0.859251
-0x6DFC
-// 0.702426
-0x59E9
-// 0.456301
-0x3A68
-// 0.119531
-0x0F4D
-// -0.277482
-0xDC7B
-// -0.661314
-0xAB5A
-// -0.918537
-0x8A6D
-// -0.925695
-0x8983
-// -0.611097
-0xB1C8
-// -0.030945
-0xFC0A
-// 0.589481
-0x4B74
-// 0.915804
-0x7539
-// 0.695054
-0x58F8
-// -0.004498
-0xFF6D
-// -0.712082
-0xA4DB
-// -0.829765
-0x95CA
-// -0.183298
-0xE88A
-// 0.647457
-0x52E0
-// 0.765024
-0x61EC
-// -0.024301
-0xFCE4
-// -0.770387
-0x9D64
-// -0.447708
-0xC6B1
-// 0.521104
-0x42B4
-// 0.650064
-0x5335
-// -0.298863
-0xD9BF
-// -0.688210
-0xA7E9
-// 0.207648
-0x1A94
-// 0.656951
-0x5417
-// -0.253282
-0xDF94
-// -0.570816
-0xB6F0
-// 0.398647
-0x3307
-// 0.379176
-0x3089
-// -0.548368
-0xB9CF
-// -0.036721
-0xFB4D
-// 0.524152
-0x4317
-// -0.358152
-0xD228
+42
+// 1.000000
+0x7FFF
+// 0.999967
+0x7FFF
+// 0.999179
+0x7FE5
+// 0.992619
+0x7F0E
+// 0.967844
+0x7BE2
+// 0.905465
+0x73E6
+// 0.781671
+0x640E
+// 0.573956
+0x4977
+// 0.271292
+0x22BA
+// -0.111634
+0xF1B6
+// -0.520097
+0xBD6D
+// -0.853976
+0x92B1
+// -0.984530
+0x81FB
+// -0.803940
+0x9918
+// -0.302224
+0xD951
+// 0.364419
+0x2EA5
+// 0.879807
+0x709E
+// 0.907652
+0x742E
+// 0.342546
+0x2BD9
+// -0.493059
+0xC0E3
+// -0.954641
+0x85CE
+// -0.575596
+0xB653
+// 0.375151
+0x3005
+// 0.943276
+0x78BD
+// 0.428907
+0x36E6
+// -0.626726
+0xAFC7
+// -0.849512
+0x9343
+// 0.147858
+0x12ED
+// 0.920142
+0x75C7
+// 0.190200
+0x1858
+// -0.865797
+0x912E
+// -0.331452
+0xD593
+// 0.836609
+0x6B16
+// 0.295245
+0x25CB
+// -0.865316
+0x913D
+// -0.082423
+0xF573
+// 0.875822
+0x701B
+// -0.302978
+0xD938
+// -0.691427
+0xA77F
+// 0.730160
+0x5D76
+// 0.141684
+0x1223
+// -0.982948
+0x822F

+ 85 - 81
Testing/Patterns/DSP/Interpolation/InterpolationQ31/Input1_q31.txt

@@ -1,82 +1,86 @@
 W
-40
-// 0.000244
-0x00080000
-// 0.000732
-0x00180000
-// 0.001221
-0x00280000
-// 0.001709
-0x00380000
-// 0.002197
-0x00480000
-// 0.002686
-0x00580000
-// 0.003174
-0x00680000
-// 0.003662
-0x00780000
-// 0.004150
-0x00880000
-// 0.004639
-0x00980000
-// 0.005127
-0x00A80000
-// 0.005615
-0x00B80000
-// 0.006104
-0x00C80000
-// 0.006592
-0x00D80000
-// 0.007080
-0x00E80000
-// 0.007568
-0x00F80000
-// 0.008057
-0x01080000
-// 0.008545
-0x01180000
-// 0.009033
-0x01280000
-// 0.009521
-0x01380000
-// 0.010010
-0x01480000
-// 0.010498
-0x01580000
-// 0.010986
-0x01680000
-// 0.011475
-0x01780000
-// 0.011963
-0x01880000
-// 0.012451
-0x01980000
-// 0.012939
-0x01A80000
-// 0.013428
-0x01B80000
-// 0.013916
-0x01C80000
-// 0.014404
-0x01D80000
-// 0.014893
-0x01E80000
-// 0.015381
-0x01F80000
-// 0.015869
-0x02080000
-// 0.016357
-0x02180000
-// 0.016846
-0x02280000
-// 0.017334
-0x02380000
-// 0.017822
-0x02480000
-// 0.018311
-0x02580000
-// 0.018799
-0x02680000
-// 0.019287
-0x02780000
+42
+// -0.000439
+0xFFF1999A
+// 0.000049
+0x0001999A
+// 0.000537
+0x0011999A
+// 0.001025
+0x0021999A
+// 0.001514
+0x0031999A
+// 0.002002
+0x0041999A
+// 0.002490
+0x0051999A
+// 0.002979
+0x0061999A
+// 0.003467
+0x0071999A
+// 0.003955
+0x0081999A
+// 0.004443
+0x0091999A
+// 0.004932
+0x00A1999A
+// 0.005420
+0x00B1999A
+// 0.005908
+0x00C1999A
+// 0.006396
+0x00D1999A
+// 0.006885
+0x00E1999A
+// 0.007373
+0x00F1999A
+// 0.007861
+0x0101999A
+// 0.008350
+0x0111999A
+// 0.008838
+0x0121999A
+// 0.009326
+0x0131999A
+// 0.009814
+0x0141999A
+// 0.010303
+0x0151999A
+// 0.010791
+0x0161999A
+// 0.011279
+0x0171999A
+// 0.011768
+0x0181999A
+// 0.012256
+0x0191999A
+// 0.012744
+0x01A1999A
+// 0.013232
+0x01B1999A
+// 0.013721
+0x01C1999A
+// 0.014209
+0x01D1999A
+// 0.014697
+0x01E1999A
+// 0.015186
+0x01F1999A
+// 0.015674
+0x0201999A
+// 0.016162
+0x0211999A
+// 0.016650
+0x0221999A
+// 0.017139
+0x0231999A
+// 0.017627
+0x0241999A
+// 0.018115
+0x0251999A
+// 0.018604
+0x0261999A
+// 0.019092
+0x0271999A
+// 0.019824
+0x0289999A

+ 85 - 81
Testing/Patterns/DSP/Interpolation/InterpolationQ31/Reference1_q31.txt

@@ -1,82 +1,86 @@
 W
-40
-// 0.999836
-0x7FFA9D47
-// 0.997208
-0x7FA483D7
-// 0.984118
-0x7DF792AA
-// 0.945255
-0x78FE1AD3
-// 0.859251
-0x6DFBED5A
-// 0.702426
-0x59E918D9
-// 0.456301
-0x3A681221
-// 0.119531
-0x0F4CC6E6
-// -0.277482
-0xDC7B74C7
-// -0.661314
-0xAB5A0CFB
-// -0.918537
-0x8A6D613A
-// -0.925695
-0x8982D786
-// -0.611097
-0xB1C79353
-// -0.030945
-0xFC0A0199
-// 0.589481
-0x4B7419C6
-// 0.915804
-0x753913C6
-// 0.695054
-0x58F7896E
-// -0.004498
-0xFF6C984C
-// -0.712082
-0xA4DA81BA
-// -0.829765
-0x95CA42E6
-// -0.183298
-0xE889B3C1
-// 0.647457
-0x52DFDEA1
-// 0.765024
-0x61EC4FCA
-// -0.024301
-0xFCE3B59E
-// -0.770387
-0x9D63F365
-// -0.447708
-0xC6B17E22
-// 0.521104
-0x42B38BB9
-// 0.650064
-0x53354CCE
-// -0.298863
-0xD9BED74A
-// -0.688210
-0xA7E8B864
-// 0.207648
-0x1A9437BE
-// 0.656951
-0x5416F502
-// -0.253282
-0xDF9474DD
-// -0.570816
-0xB6EF8307
-// 0.398647
-0x3306DB70
-// 0.379176
-0x3088DA74
-// -0.548368
-0xB9CF17B9
-// -0.036721
-0xFB4CB84E
-// 0.524152
-0x43176BFA
-// -0.358152
-0xD2280F1C
+42
+// 1.000000
+0x7FFFFFFF
+// 0.999967
+0x7FFEEC41
+// 0.999179
+0x7FE51603
+// 0.992619
+0x7F0E27D5
+// 0.967844
+0x7BE24BEE
+// 0.905465
+0x73E64706
+// 0.781671
+0x640DCF94
+// 0.573956
+0x497760C6
+// 0.271292
+0x22B9B470
+// -0.111634
+0xF1B5FC22
+// -0.520097
+0xBD6D7243
+// -0.853976
+0x92B0EBC0
+// -0.984530
+0x81FAEE5C
+// -0.803940
+0x99187FD8
+// -0.302224
+0xD950BCDB
+// 0.364419
+0x2EA54B2D
+// 0.879807
+0x709D80C5
+// 0.907652
+0x742DF182
+// 0.342546
+0x2BD88AB9
+// -0.493059
+0xC0E36E27
+// -0.954641
+0x85CE5589
+// -0.575596
+0xB652E06F
+// 0.375151
+0x3004F60D
+// 0.943276
+0x78BD443E
+// 0.428907
+0x36E66FB3
+// -0.626726
+0xAFC76E4A
+// -0.849512
+0x93432DD9
+// 0.147858
+0x12ED0456
+// 0.920142
+0x75C739B9
+// 0.190200
+0x18587B95
+// -0.865797
+0x912D9338
+// -0.331452
+0xD592F709
+// 0.836609
+0x6B1604B4
+// 0.295245
+0x25CA987D
+// -0.865316
+0x913D5412
+// -0.082423
+0xF5732A11
+// 0.875822
+0x701AF303
+// -0.302978
+0xD9380158
+// -0.691427
+0xA77F4E37
+// 0.730160
+0x5D75DFEE
+// 0.141684
+0x1222B240
+// -0.982948
+0x822EC32F

+ 85 - 81
Testing/Patterns/DSP/Interpolation/InterpolationQ7/Input1_q31.txt

@@ -1,82 +1,86 @@
 W
-40
-// 0.000244
-0x00080000
-// 0.000732
-0x00180000
-// 0.001221
-0x00280000
-// 0.001709
-0x00380000
-// 0.002197
-0x00480000
-// 0.002686
-0x00580000
-// 0.003174
-0x00680000
-// 0.003662
-0x00780000
-// 0.004150
-0x00880000
-// 0.004639
-0x00980000
-// 0.005127
-0x00A80000
-// 0.005615
-0x00B80000
-// 0.006104
-0x00C80000
-// 0.006592
-0x00D80000
-// 0.007080
-0x00E80000
-// 0.007568
-0x00F80000
-// 0.008057
-0x01080000
-// 0.008545
-0x01180000
-// 0.009033
-0x01280000
-// 0.009521
-0x01380000
-// 0.010010
-0x01480000
-// 0.010498
-0x01580000
-// 0.010986
-0x01680000
-// 0.011475
-0x01780000
-// 0.011963
-0x01880000
-// 0.012451
-0x01980000
-// 0.012939
-0x01A80000
-// 0.013428
-0x01B80000
-// 0.013916
-0x01C80000
-// 0.014404
-0x01D80000
-// 0.014893
-0x01E80000
-// 0.015381
-0x01F80000
-// 0.015869
-0x02080000
-// 0.016357
-0x02180000
-// 0.016846
-0x02280000
-// 0.017334
-0x02380000
-// 0.017822
-0x02480000
-// 0.018311
-0x02580000
-// 0.018799
-0x02680000
-// 0.019287
-0x02780000
+42
+// -0.000439
+0xFFF1999A
+// 0.000049
+0x0001999A
+// 0.000537
+0x0011999A
+// 0.001025
+0x0021999A
+// 0.001514
+0x0031999A
+// 0.002002
+0x0041999A
+// 0.002490
+0x0051999A
+// 0.002979
+0x0061999A
+// 0.003467
+0x0071999A
+// 0.003955
+0x0081999A
+// 0.004443
+0x0091999A
+// 0.004932
+0x00A1999A
+// 0.005420
+0x00B1999A
+// 0.005908
+0x00C1999A
+// 0.006396
+0x00D1999A
+// 0.006885
+0x00E1999A
+// 0.007373
+0x00F1999A
+// 0.007861
+0x0101999A
+// 0.008350
+0x0111999A
+// 0.008838
+0x0121999A
+// 0.009326
+0x0131999A
+// 0.009814
+0x0141999A
+// 0.010303
+0x0151999A
+// 0.010791
+0x0161999A
+// 0.011279
+0x0171999A
+// 0.011768
+0x0181999A
+// 0.012256
+0x0191999A
+// 0.012744
+0x01A1999A
+// 0.013232
+0x01B1999A
+// 0.013721
+0x01C1999A
+// 0.014209
+0x01D1999A
+// 0.014697
+0x01E1999A
+// 0.015186
+0x01F1999A
+// 0.015674
+0x0201999A
+// 0.016162
+0x0211999A
+// 0.016650
+0x0221999A
+// 0.017139
+0x0231999A
+// 0.017627
+0x0241999A
+// 0.018115
+0x0251999A
+// 0.018604
+0x0261999A
+// 0.019092
+0x0271999A
+// 0.019824
+0x0289999A

+ 82 - 78
Testing/Patterns/DSP/Interpolation/InterpolationQ7/Reference1_q7.txt

@@ -1,82 +1,86 @@
 B
-40
-// 0.999836
+42
+// 1.000000
 0x7F
-// 0.997208
+// 0.999967
 0x7F
-// 0.984118
-0x7E
-// 0.945255
+// 0.999179
+0x7F
+// 0.992619
+0x7F
+// 0.967844
+0x7C
+// 0.905465
+0x74
+// 0.781671
+0x64
+// 0.573956
+0x49
+// 0.271292
+0x23
+// -0.111634
+0xF2
+// -0.520097
+0xBD
+// -0.853976
+0x93
+// -0.984530
+0x82
+// -0.803940
+0x99
+// -0.302224
+0xD9
+// 0.364419
+0x2F
+// 0.879807
+0x71
+// 0.907652
+0x74
+// 0.342546
+0x2C
+// -0.493059
+0xC1
+// -0.954641
+0x86
+// -0.575596
+0xB6
+// 0.375151
+0x30
+// 0.943276
 0x79
-// 0.859251
-0x6E
-// 0.702426
-0x5A
-// 0.456301
-0x3A
-// 0.119531
-0x0F
-// -0.277482
-0xDC
-// -0.661314
-0xAB
-// -0.918537
-0x8A
-// -0.925695
-0x8A
-// -0.611097
-0xB2
-// -0.030945
-0xFC
-// 0.589481
-0x4B
-// 0.915804
-0x75
-// 0.695054
-0x59
-// -0.004498
-0xFF
-// -0.712082
-0xA5
-// -0.829765
-0x96
-// -0.183298
-0xE9
-// 0.647457
-0x53
-// 0.765024
-0x62
-// -0.024301
-0xFD
-// -0.770387
-0x9D
-// -0.447708
-0xC7
-// 0.521104
-0x43
-// 0.650064
-0x53
-// -0.298863
-0xDA
-// -0.688210
-0xA8
-// 0.207648
-0x1B
-// 0.656951
-0x54
-// -0.253282
-0xE0
-// -0.570816
-0xB7
-// 0.398647
-0x33
-// 0.379176
-0x31
-// -0.548368
-0xBA
-// -0.036721
-0xFB
-// 0.524152
-0x43
-// -0.358152
-0xD2
+// 0.428907
+0x37
+// -0.626726
+0xB0
+// -0.849512
+0x93
+// 0.147858
+0x13
+// 0.920142
+0x76
+// 0.190200
+0x18
+// -0.865797
+0x91
+// -0.331452
+0xD6
+// 0.836609
+0x6B
+// 0.295245
+0x26
+// -0.865316
+0x91
+// -0.082423
+0xF5
+// 0.875822
+0x70
+// -0.302978
+0xD9
+// -0.691427
+0xA7
+// 0.730160
+0x5D
+// 0.141684
+0x12
+// -0.982948
+0x82

+ 3 - 3
Testing/Source/Tests/InterpolationTestsF16.cpp

@@ -2,7 +2,7 @@
 #include <stdio.h>
 #include "Error.h"
 
-#define SNR_THRESHOLD 55
+#define SNR_THRESHOLD 44
 
 /* 
 
@@ -11,8 +11,8 @@ a double precision computation.
 
 */
 
-#define REL_ERROR (5.0e-3)
-#define ABS_ERROR (5.0e-3)
+#define REL_ERROR (6.0e-3)
+#define ABS_ERROR (7.0e-3)
 
 
 

+ 1 - 1
Testing/Source/Tests/InterpolationTestsF32.cpp

@@ -2,7 +2,7 @@
 #include <stdio.h>
 #include "Error.h"
 
-#define SNR_THRESHOLD 120
+#define SNR_THRESHOLD 119
 
 /*