CMSIS-DSP: MVE versions of vlog q15 and q31 and PythonWrapper fix
PythonWrapper was no more building on windows due to a too long
link command line.
A temporary fix was made. But on long term the wrapper must be refactored
into submodules to allow to more easily add new functions.
diff --git a/CMSIS/DSP/PythonWrapper/setup.py b/CMSIS/DSP/PythonWrapper/setup.py
index acdb07f..22273c9 100644
--- a/CMSIS/DSP/PythonWrapper/setup.py
+++ b/CMSIS/DSP/PythonWrapper/setup.py
@@ -4,6 +4,7 @@
import config
import sys
import os
+import os.path
from config import ROOT
import re
@@ -73,6 +74,97 @@
allsrcs = allsrcs + controller + transform + modulesrc + common+ interpolation
allsrcs = allsrcs + quaternion
+missing=set(["arm_abs_f64"
+,"arm_absmax_f64"
+,"arm_absmin_f64"
+,"arm_add_f64"
+,"arm_barycenter_f32"
+,"arm_braycurtis_distance_f32"
+,"arm_canberra_distance_f32"
+,"arm_chebyshev_distance_f32"
+,"arm_chebyshev_distance_f64"
+,"arm_circularRead_f32"
+,"arm_cityblock_distance_f32"
+,"arm_cityblock_distance_f64"
+,"arm_cmplx_mag_f64"
+,"arm_cmplx_mag_squared_f64"
+,"arm_cmplx_mult_cmplx_f64"
+,"arm_copy_f64"
+,"arm_correlate_f64"
+,"arm_correlation_distance_f32"
+,"arm_cosine_distance_f32"
+,"arm_cosine_distance_f64"
+,"arm_dot_prod_f64"
+,"arm_entropy_f32"
+,"arm_entropy_f64"
+,"arm_euclidean_distance_f32"
+,"arm_euclidean_distance_f64"
+,"arm_exponent_f32"
+,"arm_fill_f64"
+,"arm_fir_f64"
+,"arm_fir_init_f64"
+,"arm_gaussian_naive_bayes_predict_f32"
+,"arm_jensenshannon_distance_f32"
+,"arm_kullback_leibler_f32"
+,"arm_kullback_leibler_f64"
+,"arm_logsumexp_dot_prod_f32"
+,"arm_logsumexp_f32"
+,"arm_mat_cholesky_f32"
+,"arm_mat_cholesky_f64"
+,"arm_mat_init_f32"
+,"arm_mat_ldlt_f32"
+,"arm_mat_ldlt_f64"
+,"arm_mat_mult_f64"
+,"arm_mat_solve_lower_triangular_f32"
+,"arm_mat_solve_lower_triangular_f64"
+,"arm_mat_solve_upper_triangular_f32"
+,"arm_mat_solve_upper_triangular_f64"
+,"arm_mat_sub_f64"
+,"arm_mat_trans_f64"
+,"arm_max_f64"
+,"arm_max_no_idx_f32"
+,"arm_max_no_idx_f64"
+,"arm_mean_f64"
+,"arm_merge_sort_f32"
+,"arm_merge_sort_init_f32"
+,"arm_min_f64"
+,"arm_minkowski_distance_f32"
+,"arm_mult_f64"
+,"arm_negate_f64"
+,"arm_offset_f64"
+,"arm_power_f64"
+,"arm_scale_f64"
+,"arm_sort_f32"
+,"arm_sort_init_f32"
+,"arm_spline_f32"
+,"arm_spline_init_f32"
+,"arm_std_f64"
+,"arm_sub_f64"
+,"arm_svm_linear_init_f32"
+,"arm_svm_linear_predict_f32"
+,"arm_svm_polynomial_init_f32"
+,"arm_svm_polynomial_predict_f32"
+,"arm_svm_rbf_init_f32"
+,"arm_svm_rbf_predict_f32"
+,"arm_svm_sigmoid_init_f32"
+,"arm_svm_sigmoid_predict_f32"
+,"arm_var_f64"
+,"arm_vexp_f32"
+,"arm_vexp_f64"
+,"arm_vlog_f64"
+,"arm_vsqrt_f32"
+,"arm_weighted_sum_f32"
+,"arm_circularRead_q15"
+,"arm_circularRead_q7"
+,"arm_div_q63_to_q31"
+,"arm_fir_sparse_q15"
+,"arm_fir_sparse_q31"
+,"arm_fir_sparse_q7"
+,"arm_mat_init_q15"
+,"arm_mat_init_q31"
+,"arm_vsqrt_q15"
+,"arm_vsqrt_q31"])
+
def notf16(number):
if re.search(r'f16',number):
return(False)
@@ -80,11 +172,16 @@
return(False)
return(True)
+def isnotmissing(src):
+ name=os.path.splitext(os.path.basename(src))[0]
+ return(not (name in missing))
+
# If there are too many files, the linker command is failing on Windows.
# So f16 functions are removed since they are not currently available in the wrapper.
# A next version will have to structure this wrapper more cleanly so that the
# build can work even with more functions
-srcs = list(filter(notf16, allsrcs))
+srcs = list(filter(isnotmissing,list(filter(notf16, allsrcs))))
+
module1 = Extension(config.extensionName,
sources = (srcs
diff --git a/CMSIS/DSP/PythonWrapper/testdsp3.py b/CMSIS/DSP/PythonWrapper/testdsp3.py
index a0313fa..01a9813 100755
--- a/CMSIS/DSP/PythonWrapper/testdsp3.py
+++ b/CMSIS/DSP/PythonWrapper/testdsp3.py
@@ -6,9 +6,11 @@
x = np.array([0.9,0.5,2**-16])
r=dsp.arm_vlog_q15(f.toQ15(x))
-
print(f.Q15toF32(r)*16.0)
+r=dsp.arm_vlog_q31(f.toQ31(x))
+print(f.Q31toF32(r)*32.0)
+
print(np.log(x))
print("")
diff --git a/CMSIS/DSP/Source/FastMathFunctions/arm_vlog_q15.c b/CMSIS/DSP/Source/FastMathFunctions/arm_vlog_q15.c
index a217454..131133c 100755
--- a/CMSIS/DSP/Source/FastMathFunctions/arm_vlog_q15.c
+++ b/CMSIS/DSP/Source/FastMathFunctions/arm_vlog_q15.c
@@ -26,18 +26,10 @@
* limitations under the License.
*/
-/*
-
-This is a first attempt at implement a log in Q15
-without using an interpolation table since there are
-already too many tables in CMSIS-DSP.
-
-But the accuracy is not that great for very small values ...
-
-*/
#include "dsp/fast_math_functions.h"
+
#define LOG_Q15_ACCURACY 15
/* Bit to represent the normalization factor
@@ -50,36 +42,37 @@
*/
#define LOG_Q15_INTEGER_PART 4
-/* 2.0 in Q14 or 0.5 in Q16 */
+/* 2.0 in q14 */
#define LOQ_Q15_THRESHOLD (1u << LOG_Q15_ACCURACY)
+
+/* HALF */
#define LOQ_Q15_Q16_HALF LOQ_Q15_THRESHOLD
#define LOQ_Q15_Q14_HALF (LOQ_Q15_Q16_HALF >> 2)
-/* 1.0 / Log2[Exp[1]] in Q15 */
+/* 1.0 / Log2[Exp[1]] in q15 */
#define LOG_Q15_INVLOG2EXP 0x58b9u
+
/* Clay Turner algorithm */
static uint16_t arm_scalar_log_q15(uint16_t src)
{
int i;
- int32_t c = __CLZ(src)-16;
+ int16_t c = __CLZ(src)-16;
int16_t normalization=0;
- //printf("x q15 = %08X, c = %d\n",src,c);
-
- /* 0.5 in q16 */
- uint16_t inc = LOQ_Q15_Q16_HALF;
+ /* 0.5 in q11 */
+ uint16_t inc = LOQ_Q15_Q16_HALF >> (LOG_Q15_INTEGER_PART + 1);
/* Will compute y = log2(x) for 1 <= x < 2.0 */
- uint32_t x;
+ uint16_t x;
- /* q16 */
+ /* q11 */
uint16_t y=0;
- /* q4.24 */
- int32_t tmp;
+ /* q11 */
+ int16_t tmp;
/* Normalize and convert to q14 format */
@@ -93,17 +86,19 @@
x = x << (c-1);
}
normalization = c;
- //printf("normalization = %d\n",normalization);
- //printf("x normalized q14 = %08X\n",x);
- /* Compute the Log2. Result is in Q16
- because we know 0 <= y < 1.0
+ /* Compute the Log2. Result is in q11 instead of q16
+ because we know 0 <= y < 1.0 but
+ we want a result allowing to do a
+ product on int16 rather than having to go
+ through int32
*/
for(i = 0; i < LOG_Q15_ACCURACY ; i++)
{
- x = ((x*x) + LOQ_Q15_Q14_HALF) >> (LOG_Q15_ACCURACY - 1);
+ x = (((int32_t)x*x)) >> (LOG_Q15_ACCURACY - 1);
+
if (x >= LOQ_Q15_THRESHOLD)
{
y += inc ;
@@ -112,7 +107,78 @@
inc = inc >> 1;
}
- //printf("Log2 q16 = %04X\n",y);
+
+ /*
+ Convert the Log2 to Log and apply normalization.
+ We compute (y - normalisation) * (1 / Log2[e]).
+
+ */
+
+ /* q11 */
+ //tmp = y - ((int32_t)normalization << (LOG_Q15_ACCURACY + 1));
+ tmp = (int16_t)y - (normalization << (LOG_Q15_ACCURACY - LOG_Q15_INTEGER_PART));
+
+ /* q4.11 */
+ y = ((int32_t)tmp * LOG_Q15_INVLOG2EXP) >> 15;
+
+ return(y);
+
+}
+
+#if defined(ARM_MATH_MVEI) && !defined(ARM_MATH_AUTOVECTORIZE)
+
+
+q15x8_t vlogq_q15(q15x8_t src)
+{
+
+ int i;
+
+ int16x8_t c = vclzq_s16(src);
+ int16x8_t normalization = c;
+
+
+ /* 0.5 in q11 */
+ uint16_t inc = LOQ_Q15_Q16_HALF >> (LOG_Q15_INTEGER_PART + 1);
+
+ /* Will compute y = log2(x) for 1 <= x < 2.0 */
+ uint16x8_t x;
+
+
+ /* q11 */
+ uint16x8_t y = vdupq_n_u16(0);
+
+
+ /* q11 */
+ int16x8_t vtmp;
+
+
+ mve_pred16_t p;
+
+ /* Normalize and convert to q14 format */
+
+
+ vtmp = vsubq_n_s16(c,1);
+ x = vshlq_u16(src,vtmp);
+
+
+ /* Compute the Log2. Result is in q11 instead of q16
+ because we know 0 <= y < 1.0 but
+ we want a result allowing to do a
+ product on int16 rather than having to go
+ through int32
+ */
+ for(i = 0; i < LOG_Q15_ACCURACY ; i++)
+ {
+ x = vmulhq_u16(x,x);
+ x = vshlq_n_u16(x,2);
+
+
+ p = vcmphiq_u16(x,vdupq_n_u16(LOQ_Q15_THRESHOLD));
+ y = vaddq_m_n_u16(y, y,inc,p);
+ x = vshrq_m_n_u16(x,x,1,p);
+
+ inc = inc >> 1;
+ }
/*
@@ -121,22 +187,20 @@
*/
- /* q16 */
- tmp = y - ((int32_t)normalization << (LOG_Q15_ACCURACY + 1));
- //printf("Log2 q16 with normalization = %08X\n",tmp);
+ /* q11 */
+ // tmp = (int16_t)y - (normalization << (LOG_Q15_ACCURACY - LOG_Q15_INTEGER_PART));
+ vtmp = vshlq_n_s16(normalization,LOG_Q15_ACCURACY - LOG_Q15_INTEGER_PART);
+ vtmp = vsubq_s16(y,vtmp);
- /* q12 * q15 -> q27 */
- tmp = (tmp>>LOG_Q15_INTEGER_PART) * (int32_t)LOG_Q15_INVLOG2EXP ;
- //printf("Log10 q27 = %08X\n",tmp);
-
- /* q4.11 */
- y = tmp >> 16;
- //printf("Log10 q11 = %04X\n",y);
+
+ /* q4.11 */
+ // y = ((int32_t)tmp * LOG_Q15_INVLOG2EXP) >> 15;
+ vtmp = vqdmulhq_n_s16(vtmp,LOG_Q15_INVLOG2EXP);
- return(y);
-
+ return(vtmp);
}
+#endif
/**
@ingroup groupFastMath
@@ -155,15 +219,43 @@
@return none
*/
+
void arm_vlog_q15(
const q15_t * pSrc,
q15_t * pDst,
uint32_t blockSize)
{
- uint32_t i;
- for(i=0;i < blockSize; i++)
+ uint32_t blkCnt; /* loop counters */
+
+ #if defined(ARM_MATH_MVEI) && !defined(ARM_MATH_AUTOVECTORIZE)
+ q15x8_t src;
+ q15x8_t dst;
+
+ blkCnt = blockSize >> 3;
+
+ while (blkCnt > 0U)
{
- pDst[i]=arm_scalar_log_q15(pSrc[i]);
+ src = vld1q(pSrc);
+ dst = vlogq_q15(src);
+ vst1q(pDst, dst);
+
+ pSrc += 8;
+ pDst += 8;
+ /* Decrement loop counter */
+ blkCnt--;
+ }
+
+ blkCnt = blockSize & 7;
+ #else
+ blkCnt = blockSize;
+ #endif
+
+ while (blkCnt > 0U)
+ {
+ *pDst++ = arm_scalar_log_q15(*pSrc++);
+
+ /* Decrement loop counter */
+ blkCnt--;
}
}
diff --git a/CMSIS/DSP/Source/FastMathFunctions/arm_vlog_q31.c b/CMSIS/DSP/Source/FastMathFunctions/arm_vlog_q31.c
index 9f4e0c9..ad31dde 100755
--- a/CMSIS/DSP/Source/FastMathFunctions/arm_vlog_q31.c
+++ b/CMSIS/DSP/Source/FastMathFunctions/arm_vlog_q31.c
@@ -26,16 +26,6 @@
* limitations under the License.
*/
-/*
-
-This is a first attempt at implement a log in Q31
-without using an interpolation table since there are
-already too many tables in CMSIS-DSP.
-
-But the accuracy is not that great for very small values ...
-
-*/
-
#include "dsp/fast_math_functions.h"
#define LOG_Q31_ACCURACY 31
@@ -50,8 +40,10 @@
*/
#define LOG_Q31_INTEGER_PART 5
-/* 2.0 in Q30 or 0.5 in Q32 */
+/* 2.0 in Q30 */
#define LOQ_Q31_THRESHOLD (1u << LOG_Q31_ACCURACY)
+
+/* HALF */
#define LOQ_Q31_Q32_HALF LOQ_Q31_THRESHOLD
#define LOQ_Q31_Q30_HALF (LOQ_Q31_Q32_HALF >> 2)
@@ -62,24 +54,22 @@
/* Clay Turner algorithm */
static uint32_t arm_scalar_log_q31(uint32_t src)
{
- int i;
+ int32_t i;
int32_t c = __CLZ(src);
int32_t normalization=0;
- //printf("x q31 = %08X\n",src);
-
- /* 0.5 in q32 */
- uint32_t inc = LOQ_Q31_Q32_HALF;
+ /* 0.5 in q26 */
+ uint32_t inc = LOQ_Q31_Q32_HALF >> (LOG_Q31_INTEGER_PART + 1);
/* Will compute y = log2(x) for 1 <= x < 2.0 */
- uint64_t x;
+ uint32_t x;
- /* q32 */
+ /* q26 */
uint32_t y=0;
- /* q5.58 */
- int64_t tmp;
+ /* q26 */
+ int32_t tmp;
/* Normalize and convert to q30 format */
@@ -93,17 +83,16 @@
x = x << (c-1);
}
normalization = c;
- //printf("normalization = %d\n",normalization);
- //printf("x normalized q30 = %08llX\n",x);
-
-
- /* Compute the Log2. Result is in Q32
- because we know 0 <= y < 1.0
+ /* Compute the Log2. Result is in q26
+ because we know 0 <= y < 1.0 but
+ do not want to use q32 to allow
+ following computation with less instructions.
*/
for(i = 0; i < LOG_Q31_ACCURACY ; i++)
{
- x = ((x*x) + LOQ_Q31_Q30_HALF) >> (LOG_Q31_ACCURACY - 1);
+ x = ((int64_t)x*x) >> (LOG_Q31_ACCURACY - 1);
+
if (x >= LOQ_Q31_THRESHOLD)
{
y += inc ;
@@ -112,7 +101,78 @@
inc = inc >> 1;
}
- //printf("Log2 q32 = %08X\n",y);
+ /*
+ Convert the Log2 to Log and apply normalization.
+ We compute (y - normalisation) * (1 / Log2[e]).
+
+ */
+
+ /* q26 */
+ tmp = (int32_t)y - (normalization << (LOG_Q31_ACCURACY - LOG_Q31_INTEGER_PART));
+
+
+ /* q5.26 */
+ y = ((int64_t)tmp * LOG_Q31_INVLOG2EXP) >> 31;
+
+
+
+ return(y);
+
+}
+
+#if defined(ARM_MATH_MVEI) && !defined(ARM_MATH_AUTOVECTORIZE)
+
+
+q31x4_t vlogq_q31(q31x4_t src)
+{
+
+ int32_t i;
+
+ int32x4_t c = vclzq_s32(src);
+ int32x4_t normalization = c;
+
+
+ /* 0.5 in q11 */
+ uint32_t inc = LOQ_Q31_Q32_HALF >> (LOG_Q31_INTEGER_PART + 1);
+
+ /* Will compute y = log2(x) for 1 <= x < 2.0 */
+ uint32x4_t x;
+
+
+ /* q11 */
+ uint32x4_t y = vdupq_n_u32(0);
+
+
+ /* q11 */
+ int32x4_t vtmp;
+
+
+ mve_pred16_t p;
+
+ /* Normalize and convert to q14 format */
+
+
+ vtmp = vsubq_n_s32(c,1);
+ x = vshlq_u32(src,vtmp);
+
+
+ /* Compute the Log2. Result is in Q26
+ because we know 0 <= y < 1.0 but
+ do not want to use Q32 to allow
+ following computation with less instructions.
+ */
+ for(i = 0; i < LOG_Q31_ACCURACY ; i++)
+ {
+ x = vmulhq_u32(x,x);
+ x = vshlq_n_u32(x,2);
+
+
+ p = vcmphiq_u32(x,vdupq_n_u32(LOQ_Q31_THRESHOLD));
+ y = vaddq_m_n_u32(y, y,inc,p);
+ x = vshrq_m_n_u32(x,x,1,p);
+
+ inc = inc >> 1;
+ }
/*
@@ -121,22 +181,20 @@
*/
- /* q32 */
- tmp = y - ((int64_t)normalization << (LOG_Q31_ACCURACY + 1));
- //printf("Log2 q32 with normalization = %016llX\n",tmp);
+ /* q11 */
+ // tmp = (int16_t)y - (normalization << (LOG_Q15_ACCURACY - LOG_Q15_INTEGER_PART));
+ vtmp = vshlq_n_s32(normalization,LOG_Q31_ACCURACY - LOG_Q31_INTEGER_PART);
+ vtmp = vsubq_s32(y,vtmp);
- /* q27 * q31 -> q58 */
- tmp = (tmp>>LOG_Q31_INTEGER_PART) * (int64_t)LOG_Q31_INVLOG2EXP ;
- //printf("Log10 q58 = %016llX\n",tmp);
-
- /* q5.26 */
- y = tmp >> 32;
- //printf("Log10 q25 = %08X\n",y);
+
+ /* q4.11 */
+ // y = ((int32_t)tmp * LOG_Q15_INVLOG2EXP) >> 15;
+ vtmp = vqdmulhq_n_s32(vtmp,LOG_Q31_INVLOG2EXP);
- return(y);
-
+ return(vtmp);
}
+#endif
/**
@ingroup groupFastMath
@@ -160,10 +218,37 @@
q31_t * pDst,
uint32_t blockSize)
{
- uint32_t i;
- for(i=0;i < blockSize; i++)
+ uint32_t blkCnt; /* loop counters */
+
+ #if defined(ARM_MATH_MVEI) && !defined(ARM_MATH_AUTOVECTORIZE)
+
+ q31x4_t src;
+ q31x4_t dst;
+
+ blkCnt = blockSize >> 2;
+
+ while (blkCnt > 0U)
{
- pDst[i]=arm_scalar_log_q31(pSrc[i]);
+ src = vld1q(pSrc);
+ dst = vlogq_q31(src);
+ vst1q(pDst, dst);
+
+ pSrc += 4;
+ pDst += 4;
+ /* Decrement loop counter */
+ blkCnt--;
+ }
+
+ blkCnt = blockSize & 3;
+ #else
+ blkCnt = blockSize;
+ #endif
+
+ while (blkCnt > 0U)
+ {
+ *pDst++=arm_scalar_log_q31(*pSrc++);
+
+ blkCnt--;
}
}
diff --git a/CMSIS/DSP/Testing/PatternGeneration/FastMath.py b/CMSIS/DSP/Testing/PatternGeneration/FastMath.py
index 8c2d28b..96664bb 100755
--- a/CMSIS/DSP/Testing/PatternGeneration/FastMath.py
+++ b/CMSIS/DSP/Testing/PatternGeneration/FastMath.py
@@ -48,13 +48,13 @@
def initLogValues(format):
if format == Tools.Q15:
- exps = -np.linspace(0,15,num=125)
+ vals=np.linspace(np.float_power(2,-15),1.0,num=125)
elif format == Tools.F16:
- exps = -np.linspace(0,10,num=125)
+ vals=np.linspace(np.float_power(2,-10),1.0,num=125)
else:
- exps = -np.linspace(0,31,num=125)
- basis=2.0*np.ones(exps.size)
- vals=np.float_power(basis,exps)
+ vals=np.linspace(np.float_power(2,-31),1.0,num=125)
+
+
ref=np.log(vals)
if format==Tools.Q31 :
# Format must be Q5.26
@@ -132,13 +132,6 @@
data1 = data1 + 1e-3 # To avoid zero values
data1 = Tools.normalize(data1)
- config.setOverwrite(True)
-
- samples,v=initLogValues(format)
- config.writeInput(1, samples,"LogInput")
- config.writeReference(1, v,"Log")
-
- config.setOverwrite(False)
samples=np.concatenate((np.array([0.0,1.0]),np.linspace(-0.4,0.4)))
config.writeInput(1, samples,"ExpInput")
@@ -169,6 +162,7 @@
configq31=Tools.Config(PATTERNDIR,PARAMDIR,"q31")
configq15=Tools.Config(PATTERNDIR,PARAMDIR,"q15")
+ configf64.setOverwrite(False)
configf32.setOverwrite(False)
configf16.setOverwrite(False)
configq31.setOverwrite(False)
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF16/Log1_f16.txt b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF16/Log1_f16.txt
index db57021..5ee8401 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF16/Log1_f16.txt
+++ b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF16/Log1_f16.txt
@@ -1,252 +1,252 @@
H
125
-// 0.000000
-0x0
-// -0.055899
-0xab28
-// -0.111798
-0xaf28
-// -0.167697
-0xb15e
-// -0.223596
-0xb328
-// -0.279495
-0xb479
-// -0.335394
-0xb55e
-// -0.391293
-0xb643
-// -0.447192
-0xb728
-// -0.503091
-0xb806
-// -0.558990
-0xb879
-// -0.614889
-0xb8eb
-// -0.670788
-0xb95e
-// -0.726687
-0xb9d0
-// -0.782586
-0xba43
-// -0.838484
-0xbab5
-// -0.894383
-0xbb28
-// -0.950282
-0xbb9a
-// -1.006181
-0xbc06
-// -1.062080
-0xbc40
-// -1.117979
-0xbc79
-// -1.173878
-0xbcb2
-// -1.229777
-0xbceb
-// -1.285676
-0xbd25
-// -1.341575
-0xbd5e
-// -1.397474
-0xbd97
-// -1.453373
-0xbdd0
-// -1.509272
-0xbe09
-// -1.565171
-0xbe43
-// -1.621070
-0xbe7c
-// -1.676969
-0xbeb5
-// -1.732868
-0xbeee
-// -1.788767
-0xbf28
-// -1.844666
-0xbf61
-// -1.900565
-0xbf9a
-// -1.956464
-0xbfd3
-// -2.012363
-0xc006
-// -2.068262
-0xc023
-// -2.124161
-0xc040
-// -2.180060
-0xc05c
-// -2.235959
-0xc079
-// -2.291858
-0xc095
-// -2.347757
-0xc0b2
-// -2.403656
-0xc0cf
-// -2.459555
-0xc0eb
-// -2.515453
-0xc108
-// -2.571352
-0xc125
-// -2.627251
-0xc141
-// -2.683150
-0xc15e
-// -2.739049
-0xc17a
-// -2.794948
-0xc197
-// -2.850847
-0xc1b4
-// -2.906746
-0xc1d0
-// -2.962645
-0xc1ed
-// -3.018544
-0xc209
-// -3.074443
-0xc226
-// -3.130342
-0xc243
-// -3.186241
-0xc25f
-// -3.242140
-0xc27c
-// -3.298039
-0xc299
-// -3.353938
-0xc2b5
-// -3.409837
-0xc2d2
-// -3.465736
-0xc2ee
-// -3.521635
-0xc30b
-// -3.577534
-0xc328
-// -3.633433
-0xc344
-// -3.689332
-0xc361
-// -3.745231
-0xc37e
-// -3.801130
-0xc39a
-// -3.857029
-0xc3b7
-// -3.912928
-0xc3d3
-// -3.968827
-0xc3f0
-// -4.024726
-0xc406
-// -4.080625
-0xc415
-// -4.136523
-0xc423
-// -4.192422
-0xc431
-// -4.248321
-0xc440
-// -4.304220
-0xc44e
-// -4.360119
-0xc45c
-// -4.416018
-0xc46b
-// -4.471917
-0xc479
-// -4.527816
-0xc487
-// -4.583715
-0xc495
-// -4.639614
-0xc4a4
-// -4.695513
-0xc4b2
-// -4.751412
-0xc4c0
-// -4.807311
-0xc4cf
-// -4.863210
-0xc4dd
-// -4.919109
-0xc4eb
-// -4.975008
-0xc4fa
-// -5.030907
-0xc508
-// -5.086806
-0xc516
-// -5.142705
-0xc525
-// -5.198604
-0xc533
-// -5.254503
-0xc541
-// -5.310402
-0xc54f
-// -5.366301
-0xc55e
-// -5.422200
-0xc56c
-// -5.478099
-0xc57a
-// -5.533998
-0xc589
-// -5.589897
-0xc597
-// -5.645796
-0xc5a5
-// -5.701695
-0xc5b4
-// -5.757594
-0xc5c2
-// -5.813492
-0xc5d0
-// -5.869391
-0xc5df
-// -5.925290
-0xc5ed
-// -5.981189
-0xc5fb
-// -6.037088
-0xc609
-// -6.092987
-0xc618
-// -6.148886
-0xc626
-// -6.204785
-0xc634
-// -6.260684
-0xc643
-// -6.316583
-0xc651
-// -6.372482
-0xc65f
-// -6.428381
-0xc66e
-// -6.484280
-0xc67c
-// -6.540179
-0xc68a
-// -6.596078
-0xc699
-// -6.651977
-0xc6a7
-// -6.707876
-0xc6b5
-// -6.763775
-0xc6c4
-// -6.819674
-0xc6d2
-// -6.875573
-0xc6e0
// -6.931472
0xc6ee
+// -4.706848
+0xc4b5
+// -4.069271
+0xc412
+// -3.683037
+0xc35e
+// -3.405111
+0xc2cf
+// -3.187867
+0xc260
+// -3.009498
+0xc205
+// -2.858181
+0xc1b7
+// -2.726779
+0xc174
+// -2.610656
+0xc139
+// -2.506625
+0xc103
+// -2.412404
+0xc0d3
+// -2.326302
+0xc0a7
+// -2.247028
+0xc07e
+// -2.173581
+0xc059
+// -2.105160
+0xc036
+// -2.041123
+0xc015
+// -1.980940
+0xbfec
+// -1.924175
+0xbfb2
+// -1.870460
+0xbf7b
+// -1.819484
+0xbf47
+// -1.770981
+0xbf15
+// -1.724722
+0xbee6
+// -1.680508
+0xbeb9
+// -1.638167
+0xbe8d
+// -1.597546
+0xbe64
+// -1.558511
+0xbe3c
+// -1.520942
+0xbe15
+// -1.484734
+0xbdf0
+// -1.449792
+0xbdcd
+// -1.416029
+0xbdaa
+// -1.383369
+0xbd89
+// -1.351742
+0xbd68
+// -1.321085
+0xbd49
+// -1.291339
+0xbd2a
+// -1.262453
+0xbd0d
+// -1.234378
+0xbcf0
+// -1.207070
+0xbcd4
+// -1.180488
+0xbcb9
+// -1.154594
+0xbc9e
+// -1.129353
+0xbc84
+// -1.104735
+0xbc6b
+// -1.080707
+0xbc53
+// -1.057244
+0xbc3b
+// -1.034318
+0xbc23
+// -1.011906
+0xbc0c
+// -0.989986
+0xbbeb
+// -0.968535
+0xbbc0
+// -0.947536
+0xbb95
+// -0.926968
+0xbb6a
+// -0.906814
+0xbb41
+// -0.887059
+0xbb19
+// -0.867687
+0xbaf1
+// -0.848682
+0xbaca
+// -0.830032
+0xbaa4
+// -0.811724
+0xba7e
+// -0.793745
+0xba5a
+// -0.776083
+0xba35
+// -0.758728
+0xba12
+// -0.741669
+0xb9ef
+// -0.724896
+0xb9cd
+// -0.708400
+0xb9ab
+// -0.692171
+0xb98a
+// -0.676202
+0xb969
+// -0.660483
+0xb949
+// -0.645008
+0xb929
+// -0.629769
+0xb90a
+// -0.614758
+0xb8eb
+// -0.599970
+0xb8cd
+// -0.585397
+0xb8af
+// -0.571033
+0xb891
+// -0.556873
+0xb874
+// -0.542910
+0xb858
+// -0.529140
+0xb83c
+// -0.515557
+0xb820
+// -0.502156
+0xb804
+// -0.488932
+0xb7d3
+// -0.475880
+0xb79d
+// -0.462997
+0xb768
+// -0.450278
+0xb734
+// -0.437718
+0xb701
+// -0.425314
+0xb6ce
+// -0.413062
+0xb69c
+// -0.400959
+0xb66a
+// -0.389000
+0xb639
+// -0.377182
+0xb609
+// -0.365503
+0xb5d9
+// -0.353958
+0xb5aa
+// -0.342545
+0xb57b
+// -0.331261
+0xb54d
+// -0.320103
+0xb51f
+// -0.309068
+0xb4f2
+// -0.298153
+0xb4c5
+// -0.287357
+0xb499
+// -0.276675
+0xb46d
+// -0.266107
+0xb442
+// -0.255649
+0xb417
+// -0.245299
+0xb3d9
+// -0.235055
+0xb386
+// -0.224915
+0xb333
+// -0.214877
+0xb2e0
+// -0.204939
+0xb28f
+// -0.195098
+0xb23e
+// -0.185353
+0xb1ee
+// -0.175703
+0xb19f
+// -0.166145
+0xb151
+// -0.156677
+0xb103
+// -0.147298
+0xb0b7
+// -0.138006
+0xb06b
+// -0.128799
+0xb01f
+// -0.119677
+0xafa9
+// -0.110637
+0xaf15
+// -0.101678
+0xae82
+// -0.092799
+0xadf0
+// -0.083997
+0xad60
+// -0.075273
+0xacd1
+// -0.066624
+0xac44
+// -0.058049
+0xab6e
+// -0.049547
+0xaa58
+// -0.041117
+0xa943
+// -0.032757
+0xa831
+// -0.024467
+0xa643
+// -0.016245
+0xa429
+// -0.008089
+0xa024
+// 0.000000
+0x0
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF16/LogInput1_f16.txt b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF16/LogInput1_f16.txt
index a0e575e..d40419d 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF16/LogInput1_f16.txt
+++ b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF16/LogInput1_f16.txt
@@ -1,252 +1,252 @@
H
125
-// 1.000000
-0x3c00
-// 0.945635
-0x3b91
-// 0.894225
-0x3b27
-// 0.845610
-0x3ac4
-// 0.799638
-0x3a66
-// 0.756166
-0x3a0d
-// 0.715056
-0x39b8
-// 0.676182
-0x3969
-// 0.639421
-0x391e
-// 0.604659
-0x38d6
-// 0.571786
-0x3893
-// 0.540701
-0x3853
-// 0.511306
-0x3817
-// 0.483508
-0x37bc
-// 0.457222
-0x3751
-// 0.432365
-0x36eb
-// 0.408860
-0x368b
-// 0.386632
-0x3630
-// 0.365612
-0x35da
-// 0.345736
-0x3588
-// 0.326940
-0x353b
-// 0.309166
-0x34f2
-// 0.292358
-0x34ad
-// 0.276464
-0x346c
-// 0.261434
-0x342f
-// 0.247221
-0x33e9
-// 0.233780
-0x337b
-// 0.221071
-0x3313
-// 0.209052
-0x32b1
-// 0.197687
-0x3253
-// 0.186940
-0x31fb
-// 0.176777
-0x31a8
-// 0.167166
-0x3159
-// 0.158078
-0x310f
-// 0.149484
-0x30c9
-// 0.141357
-0x3086
-// 0.133672
-0x3047
-// 0.126405
-0x300c
-// 0.119533
-0x2fa6
-// 0.113035
-0x2f3c
-// 0.106890
-0x2ed7
-// 0.101079
-0x2e78
-// 0.095583
-0x2e1e
-// 0.090387
-0x2dc9
-// 0.085473
-0x2d78
-// 0.080826
-0x2d2c
-// 0.076432
-0x2ce4
-// 0.072277
-0x2ca0
-// 0.068347
-0x2c60
-// 0.064632
-0x2c23
-// 0.061118
-0x2bd3
-// 0.057795
-0x2b66
-// 0.054653
-0x2aff
-// 0.051682
-0x2a9e
-// 0.048872
-0x2a41
-// 0.046215
-0x29ea
-// 0.043703
-0x2998
-// 0.041327
-0x294a
-// 0.039080
-0x2901
-// 0.036956
-0x28bb
-// 0.034946
-0x2879
-// 0.033047
-0x283b
-// 0.031250
-0x2800
-// 0.029551
-0x2791
-// 0.027945
-0x2727
-// 0.026425
-0x26c4
-// 0.024989
-0x2666
-// 0.023630
-0x260d
-// 0.022346
-0x25b8
-// 0.021131
-0x2569
-// 0.019982
-0x251e
-// 0.018896
-0x24d6
-// 0.017868
-0x2493
-// 0.016897
-0x2453
-// 0.015978
-0x2417
-// 0.015110
-0x23bc
-// 0.014288
-0x2351
-// 0.013511
-0x22eb
-// 0.012777
-0x228b
-// 0.012082
-0x2230
-// 0.011425
-0x21da
-// 0.010804
-0x2188
-// 0.010217
-0x213b
-// 0.009661
-0x20f2
-// 0.009136
-0x20ad
-// 0.008639
-0x206c
-// 0.008170
-0x202f
-// 0.007726
-0x1fe9
-// 0.007306
-0x1f7b
-// 0.006908
-0x1f13
-// 0.006533
-0x1eb1
-// 0.006178
-0x1e53
-// 0.005842
-0x1dfb
-// 0.005524
-0x1da8
-// 0.005224
-0x1d59
-// 0.004940
-0x1d0f
-// 0.004671
-0x1cc9
-// 0.004417
-0x1c86
-// 0.004177
-0x1c47
-// 0.003950
-0x1c0c
-// 0.003735
-0x1ba6
-// 0.003532
-0x1b3c
-// 0.003340
-0x1ad7
-// 0.003159
-0x1a78
-// 0.002987
-0x1a1e
-// 0.002825
-0x19c9
-// 0.002671
-0x1978
-// 0.002526
-0x192c
-// 0.002389
-0x18e4
-// 0.002259
-0x18a0
-// 0.002136
-0x1860
-// 0.002020
-0x1823
-// 0.001910
-0x17d3
-// 0.001806
-0x1766
-// 0.001708
-0x16ff
-// 0.001615
-0x169e
-// 0.001527
-0x1641
-// 0.001444
-0x15ea
-// 0.001366
-0x1598
-// 0.001291
-0x154a
-// 0.001221
-0x1501
-// 0.001155
-0x14bb
-// 0.001092
-0x1479
-// 0.001033
-0x143b
// 0.000977
0x1400
+// 0.009033
+0x20a0
+// 0.017090
+0x2460
+// 0.025146
+0x2670
+// 0.033203
+0x2840
+// 0.041260
+0x2948
+// 0.049316
+0x2a50
+// 0.057373
+0x2b58
+// 0.065430
+0x2c30
+// 0.073486
+0x2cb4
+// 0.081543
+0x2d38
+// 0.089600
+0x2dbc
+// 0.097656
+0x2e40
+// 0.105713
+0x2ec4
+// 0.113770
+0x2f48
+// 0.121826
+0x2fcc
+// 0.129883
+0x3028
+// 0.137939
+0x306a
+// 0.145996
+0x30ac
+// 0.154053
+0x30ee
+// 0.162109
+0x3130
+// 0.170166
+0x3172
+// 0.178223
+0x31b4
+// 0.186279
+0x31f6
+// 0.194336
+0x3238
+// 0.202393
+0x327a
+// 0.210449
+0x32bc
+// 0.218506
+0x32fe
+// 0.226562
+0x3340
+// 0.234619
+0x3382
+// 0.242676
+0x33c4
+// 0.250732
+0x3403
+// 0.258789
+0x3424
+// 0.266846
+0x3445
+// 0.274902
+0x3466
+// 0.282959
+0x3487
+// 0.291016
+0x34a8
+// 0.299072
+0x34c9
+// 0.307129
+0x34ea
+// 0.315186
+0x350b
+// 0.323242
+0x352c
+// 0.331299
+0x354d
+// 0.339355
+0x356e
+// 0.347412
+0x358f
+// 0.355469
+0x35b0
+// 0.363525
+0x35d1
+// 0.371582
+0x35f2
+// 0.379639
+0x3613
+// 0.387695
+0x3634
+// 0.395752
+0x3655
+// 0.403809
+0x3676
+// 0.411865
+0x3697
+// 0.419922
+0x36b8
+// 0.427979
+0x36d9
+// 0.436035
+0x36fa
+// 0.444092
+0x371b
+// 0.452148
+0x373c
+// 0.460205
+0x375d
+// 0.468262
+0x377e
+// 0.476318
+0x379f
+// 0.484375
+0x37c0
+// 0.492432
+0x37e1
+// 0.500488
+0x3801
+// 0.508545
+0x3812
+// 0.516602
+0x3822
+// 0.524658
+0x3832
+// 0.532715
+0x3843
+// 0.540771
+0x3854
+// 0.548828
+0x3864
+// 0.556885
+0x3874
+// 0.564941
+0x3885
+// 0.572998
+0x3896
+// 0.581055
+0x38a6
+// 0.589111
+0x38b6
+// 0.597168
+0x38c7
+// 0.605225
+0x38d8
+// 0.613281
+0x38e8
+// 0.621338
+0x38f8
+// 0.629395
+0x3909
+// 0.637451
+0x391a
+// 0.645508
+0x392a
+// 0.653564
+0x393a
+// 0.661621
+0x394b
+// 0.669678
+0x395c
+// 0.677734
+0x396c
+// 0.685791
+0x397c
+// 0.693848
+0x398d
+// 0.701904
+0x399e
+// 0.709961
+0x39ae
+// 0.718018
+0x39be
+// 0.726074
+0x39cf
+// 0.734131
+0x39e0
+// 0.742188
+0x39f0
+// 0.750244
+0x3a00
+// 0.758301
+0x3a11
+// 0.766357
+0x3a22
+// 0.774414
+0x3a32
+// 0.782471
+0x3a42
+// 0.790527
+0x3a53
+// 0.798584
+0x3a64
+// 0.806641
+0x3a74
+// 0.814697
+0x3a84
+// 0.822754
+0x3a95
+// 0.830811
+0x3aa6
+// 0.838867
+0x3ab6
+// 0.846924
+0x3ac6
+// 0.854980
+0x3ad7
+// 0.863037
+0x3ae8
+// 0.871094
+0x3af8
+// 0.879150
+0x3b08
+// 0.887207
+0x3b19
+// 0.895264
+0x3b2a
+// 0.903320
+0x3b3a
+// 0.911377
+0x3b4a
+// 0.919434
+0x3b5b
+// 0.927490
+0x3b6c
+// 0.935547
+0x3b7c
+// 0.943604
+0x3b8c
+// 0.951660
+0x3b9d
+// 0.959717
+0x3bae
+// 0.967773
+0x3bbe
+// 0.975830
+0x3bce
+// 0.983887
+0x3bdf
+// 0.991943
+0x3bf0
+// 1.000000
+0x3c00
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF32/Log1_f32.txt b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF32/Log1_f32.txt
index 86b4ba1..6d5c333 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF32/Log1_f32.txt
+++ b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF32/Log1_f32.txt
@@ -1,252 +1,252 @@
W
125
-// 0.000000
-0x0
-// -0.173287
-0xbe317218
-// -0.346574
-0xbeb17218
-// -0.519860
-0xbf051592
-// -0.693147
-0xbf317218
-// -0.866434
-0xbf5dce9e
-// -1.039721
-0xbf851592
-// -1.213008
-0xbf9b43d5
-// -1.386294
-0xbfb17218
-// -1.559581
-0xbfc7a05b
-// -1.732868
-0xbfddce9e
-// -1.906155
-0xbff3fce1
-// -2.079442
-0xc0051592
-// -2.252728
-0xc0102cb3
-// -2.426015
-0xc01b43d5
-// -2.599302
-0xc0265af6
-// -2.772589
-0xc0317218
-// -2.945876
-0xc03c8939
-// -3.119162
-0xc047a05b
-// -3.292449
-0xc052b77c
-// -3.465736
-0xc05dce9e
-// -3.639023
-0xc068e5bf
-// -3.812309
-0xc073fce1
-// -3.985596
-0xc07f1402
-// -4.158883
-0xc0851592
-// -4.332170
-0xc08aa123
-// -4.505457
-0xc0902cb3
-// -4.678743
-0xc095b844
-// -4.852030
-0xc09b43d5
-// -5.025317
-0xc0a0cf66
-// -5.198604
-0xc0a65af6
-// -5.371891
-0xc0abe687
-// -5.545177
-0xc0b17218
-// -5.718464
-0xc0b6fda9
-// -5.891751
-0xc0bc8939
-// -6.065038
-0xc0c214ca
-// -6.238325
-0xc0c7a05b
-// -6.411611
-0xc0cd2bec
-// -6.584898
-0xc0d2b77c
-// -6.758185
-0xc0d8430d
-// -6.931472
-0xc0ddce9e
-// -7.104759
-0xc0e35a2f
-// -7.278045
-0xc0e8e5bf
-// -7.451332
-0xc0ee7150
-// -7.624619
-0xc0f3fce1
-// -7.797906
-0xc0f98872
-// -7.971193
-0xc0ff1402
-// -8.144479
-0xc1024fca
-// -8.317766
-0xc1051592
-// -8.491053
-0xc107db5a
-// -8.664340
-0xc10aa123
-// -8.837627
-0xc10d66eb
-// -9.010913
-0xc1102cb3
-// -9.184200
-0xc112f27c
-// -9.357487
-0xc115b844
-// -9.530774
-0xc1187e0d
-// -9.704061
-0xc11b43d5
-// -9.877347
-0xc11e099d
-// -10.050634
-0xc120cf66
-// -10.223921
-0xc123952e
-// -10.397208
-0xc1265af6
-// -10.570495
-0xc12920bf
-// -10.743781
-0xc12be687
-// -10.917068
-0xc12eac50
-// -11.090355
-0xc1317218
-// -11.263642
-0xc13437e0
-// -11.436928
-0xc136fda9
-// -11.610215
-0xc139c371
-// -11.783502
-0xc13c8939
-// -11.956789
-0xc13f4f02
-// -12.130076
-0xc14214ca
-// -12.303362
-0xc144da93
-// -12.476649
-0xc147a05b
-// -12.649936
-0xc14a6623
-// -12.823223
-0xc14d2bec
-// -12.996510
-0xc14ff1b4
-// -13.169796
-0xc152b77c
-// -13.343083
-0xc1557d45
-// -13.516370
-0xc158430d
-// -13.689657
-0xc15b08d6
-// -13.862944
-0xc15dce9e
-// -14.036230
-0xc1609466
-// -14.209517
-0xc1635a2f
-// -14.382804
-0xc1661ff7
-// -14.556091
-0xc168e5bf
-// -14.729378
-0xc16bab88
-// -14.902664
-0xc16e7150
-// -15.075951
-0xc1713719
-// -15.249238
-0xc173fce1
-// -15.422525
-0xc176c2a9
-// -15.595812
-0xc1798872
-// -15.769098
-0xc17c4e3a
-// -15.942385
-0xc17f1402
-// -16.115672
-0xc180ece5
-// -16.288959
-0xc1824fca
-// -16.462246
-0xc183b2ae
-// -16.635532
-0xc1851592
-// -16.808819
-0xc1867876
-// -16.982106
-0xc187db5a
-// -17.155393
-0xc1893e3f
-// -17.328680
-0xc18aa123
-// -17.501966
-0xc18c0407
-// -17.675253
-0xc18d66eb
-// -17.848540
-0xc18ec9cf
-// -18.021827
-0xc1902cb3
-// -18.195113
-0xc1918f98
-// -18.368400
-0xc192f27c
-// -18.541687
-0xc1945560
-// -18.714974
-0xc195b844
-// -18.888261
-0xc1971b28
-// -19.061547
-0xc1987e0d
-// -19.234834
-0xc199e0f1
-// -19.408121
-0xc19b43d5
-// -19.581408
-0xc19ca6b9
-// -19.754695
-0xc19e099d
-// -19.927981
-0xc19f6c82
-// -20.101268
-0xc1a0cf66
-// -20.274555
-0xc1a2324a
-// -20.447842
-0xc1a3952e
-// -20.621129
-0xc1a4f812
-// -20.794415
-0xc1a65af6
-// -20.967702
-0xc1a7bddb
-// -21.140989
-0xc1a920bf
-// -21.314276
-0xc1aa83a3
// -21.487563
0xc1abe687
+// -4.820282
+0xc09a3fbf
+// -4.127134
+0xc084117c
+// -3.721669
+0xc06e2fd4
+// -3.433987
+0xc05bc672
+// -3.210844
+0xc04d7e76
+// -3.028522
+0xc041d34e
+// -2.874371
+0xc037f5b3
+// -2.740840
+0xc02f69ec
+// -2.623057
+0xc027e02a
+// -2.517696
+0xc02121f0
+// -2.422386
+0xc01b0860
+// -2.335375
+0xc01576c8
+// -2.255332
+0xc010575d
+// -2.181224
+0xc00b992e
+// -2.112231
+0xc0072ecc
+// -2.047693
+0xc0030d66
+// -1.987068
+0xbffe5840
+// -1.929910
+0xbff70749
+// -1.875843
+0xbff01b9c
+// -1.824549
+0xbfe98ad5
+// -1.775759
+0xbfe34c13
+// -1.729239
+0xbfdd57b5
+// -1.684787
+0xbfd7a71d
+// -1.642228
+0xbfd23485
+// -1.601406
+0xbfccfadd
+// -1.562185
+0xbfc7f5ae
+// -1.524445
+0xbfc32101
+// -1.488077
+0xbfbe794f
+// -1.452986
+0xbfb9fb70
+// -1.419084
+0xbfb5a48d
+// -1.386294
+0xbfb17218
+// -1.354546
+0xbfad61c1
+// -1.323774
+0xbfa9716d
+// -1.293921
+0xbfa59f34
+// -1.264934
+0xbfa1e957
+// -1.236763
+0xbf9e4e3d
+// -1.209364
+0xbf9acc6e
+// -1.182695
+0xbf976290
+// -1.156720
+0xbf940f66
+// -1.131402
+0xbf90d1c9
+// -1.106709
+0xbf8da8a8
+// -1.082612
+0xbf8a9307
+// -1.059081
+0xbf878ffb
+// -1.036092
+0xbf849ea9
+// -1.013619
+0xbf81be45
+// -0.991640
+0xbf7ddc21
+// -0.970134
+0xbf785ab3
+// -0.949081
+0xbf72f6f1
+// -0.928461
+0xbf6dafa3
+// -0.908259
+0xbf6883a2
+// -0.888456
+0xbf6371d9
+// -0.869038
+0xbf5e7944
+// -0.849990
+0xbf5998ec
+// -0.831298
+0xbf54cfea
+// -0.812948
+0xbf501d63
+// -0.794930
+0xbf4b8086
+// -0.777230
+0xbf46f891
+// -0.759839
+0xbf4284c8
+// -0.742744
+0xbf3e247b
+// -0.725937
+0xbf39d702
+// -0.709408
+0xbf359bbe
+// -0.693147
+0xbf317218
+// -0.677147
+0xbf2d597f
+// -0.661398
+0xbf295169
+// -0.645894
+0xbf255954
+// -0.630627
+0xbf2170c2
+// -0.615589
+0xbf1d973d
+// -0.600774
+0xbf19cc51
+// -0.586175
+0xbf160f92
+// -0.571786
+0xbf126097
+// -0.557602
+0xbf0ebefc
+// -0.543615
+0xbf0b2a62
+// -0.529822
+0xbf07a26c
+// -0.516216
+0xbf0426c3
+// -0.502793
+0xbf00b712
+// -0.489548
+0xbefaa611
+// -0.476476
+0xbef3f4ae
+// -0.463573
+0xbeed5968
+// -0.450834
+0xbee6d3ad
+// -0.438255
+0xbee062f3
+// -0.425832
+0xbeda06b5
+// -0.413562
+0xbed3be71
+// -0.401441
+0xbecd89ab
+// -0.389465
+0xbec767ed
+// -0.377630
+0xbec158c3
+// -0.365934
+0xbebb5bbd
+// -0.354373
+0xbeb57070
+// -0.342945
+0xbeaf9674
+// -0.331645
+0xbea9cd66
+// -0.320472
+0xbea414e4
+// -0.309422
+0xbe9e6c91
+// -0.298493
+0xbe98d413
+// -0.287682
+0xbe934b11
+// -0.276987
+0xbe8dd136
+// -0.266405
+0xbe886632
+// -0.255933
+0xbe8309b3
+// -0.245571
+0xbe7b76db
+// -0.235314
+0xbe70f62d
+// -0.225162
+0xbe6690cb
+// -0.215111
+0xbe5c4628
+// -0.205161
+0xbe5215bd
+// -0.195309
+0xbe47ff04
+// -0.185553
+0xbe3e017f
+// -0.175891
+0xbe341caf
+// -0.166321
+0xbe2a501c
+// -0.156842
+0xbe209b50
+// -0.147453
+0xbe16fdd9
+// -0.138150
+0xbe0d7748
+// -0.128934
+0xbe040731
+// -0.119801
+0xbdf55a55
+// -0.110751
+0xbde2d19c
+// -0.101783
+0xbdd07372
+// -0.092894
+0xbdbe3f14
+// -0.084083
+0xbdac33c5
+// -0.075349
+0xbd9a50ce
+// -0.066691
+0xbd88957d
+// -0.058108
+0xbd6e0244
+// -0.049597
+0xbd4b262a
+// -0.041158
+0xbd28955e
+// -0.032790
+0xbd064e9f
+// -0.024491
+0xbcc8a164
+// -0.016261
+0xbc8534c9
+// -0.008097
+0xbc04aa29
+// 0.000000
+0x0
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF32/LogInput1_f32.txt b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF32/LogInput1_f32.txt
index 9bcb282..1ecf263 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF32/LogInput1_f32.txt
+++ b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF32/LogInput1_f32.txt
@@ -1,252 +1,252 @@
W
125
-// 1.000000
-0x3f800000
-// 0.840896
-0x3f5744fd
-// 0.707107
-0x3f3504f3
-// 0.594604
-0x3f1837f0
-// 0.500000
-0x3f000000
-// 0.420448
-0x3ed744fd
-// 0.353553
-0x3eb504f3
-// 0.297302
-0x3e9837f0
-// 0.250000
-0x3e800000
-// 0.210224
-0x3e5744fd
-// 0.176777
-0x3e3504f3
-// 0.148651
-0x3e1837f0
-// 0.125000
-0x3e000000
-// 0.105112
-0x3dd744fd
-// 0.088388
-0x3db504f3
-// 0.074325
-0x3d9837f0
-// 0.062500
-0x3d800000
-// 0.052556
-0x3d5744fd
-// 0.044194
-0x3d3504f3
-// 0.037163
-0x3d1837f0
-// 0.031250
-0x3d000000
-// 0.026278
-0x3cd744fd
-// 0.022097
-0x3cb504f3
-// 0.018581
-0x3c9837f0
-// 0.015625
-0x3c800000
-// 0.013139
-0x3c5744fd
-// 0.011049
-0x3c3504f3
-// 0.009291
-0x3c1837f0
-// 0.007812
-0x3c000000
-// 0.006570
-0x3bd744fd
-// 0.005524
-0x3bb504f3
-// 0.004645
-0x3b9837f0
-// 0.003906
-0x3b800000
-// 0.003285
-0x3b5744fd
-// 0.002762
-0x3b3504f3
-// 0.002323
-0x3b1837f0
-// 0.001953
-0x3b000000
-// 0.001642
-0x3ad744fd
-// 0.001381
-0x3ab504f3
-// 0.001161
-0x3a9837f0
-// 0.000977
-0x3a800000
-// 0.000821
-0x3a5744fd
-// 0.000691
-0x3a3504f3
-// 0.000581
-0x3a1837f0
-// 0.000488
-0x3a000000
-// 0.000411
-0x39d744fd
-// 0.000345
-0x39b504f3
-// 0.000290
-0x399837f0
-// 0.000244
-0x39800000
-// 0.000205
-0x395744fd
-// 0.000173
-0x393504f3
-// 0.000145
-0x391837f0
-// 0.000122
-0x39000000
-// 0.000103
-0x38d744fd
-// 0.000086
-0x38b504f3
-// 0.000073
-0x389837f0
-// 0.000061
-0x38800000
-// 0.000051
-0x385744fd
-// 0.000043
-0x383504f3
-// 0.000036
-0x381837f0
-// 0.000031
-0x38000000
-// 0.000026
-0x37d744fd
-// 0.000022
-0x37b504f3
-// 0.000018
-0x379837f0
-// 0.000015
-0x37800000
-// 0.000013
-0x375744fd
-// 0.000011
-0x373504f3
-// 0.000009
-0x371837f0
-// 0.000008
-0x37000000
-// 0.000006
-0x36d744fd
-// 0.000005
-0x36b504f3
-// 0.000005
-0x369837f0
-// 0.000004
-0x36800000
-// 0.000003
-0x365744fd
-// 0.000003
-0x363504f3
-// 0.000002
-0x361837f0
-// 0.000002
-0x36000000
-// 0.000002
-0x35d744fd
-// 0.000001
-0x35b504f3
-// 0.000001
-0x359837f0
-// 0.000001
-0x35800000
-// 0.000001
-0x355744fd
-// 0.000001
-0x353504f3
-// 0.000001
-0x351837f0
-// 0.000000
-0x35000000
-// 0.000000
-0x34d744fd
-// 0.000000
-0x34b504f3
-// 0.000000
-0x349837f0
-// 0.000000
-0x34800000
-// 0.000000
-0x345744fd
-// 0.000000
-0x343504f3
-// 0.000000
-0x341837f0
-// 0.000000
-0x34000000
-// 0.000000
-0x33d744fd
-// 0.000000
-0x33b504f3
-// 0.000000
-0x339837f0
-// 0.000000
-0x33800000
-// 0.000000
-0x335744fd
-// 0.000000
-0x333504f3
-// 0.000000
-0x331837f0
-// 0.000000
-0x33000000
-// 0.000000
-0x32d744fd
-// 0.000000
-0x32b504f3
-// 0.000000
-0x329837f0
-// 0.000000
-0x32800000
-// 0.000000
-0x325744fd
-// 0.000000
-0x323504f3
-// 0.000000
-0x321837f0
-// 0.000000
-0x32000000
-// 0.000000
-0x31d744fd
-// 0.000000
-0x31b504f3
-// 0.000000
-0x319837f0
-// 0.000000
-0x31800000
-// 0.000000
-0x315744fd
-// 0.000000
-0x313504f3
-// 0.000000
-0x311837f0
-// 0.000000
-0x31000000
-// 0.000000
-0x30d744fd
-// 0.000000
-0x30b504f3
-// 0.000000
-0x309837f0
-// 0.000000
-0x30800000
-// 0.000000
-0x305744fd
-// 0.000000
-0x303504f3
-// 0.000000
-0x301837f0
// 0.000000
0x30000000
+// 0.008065
+0x3c042109
+// 0.016129
+0x3c842109
+// 0.024194
+0x3cc6318d
+// 0.032258
+0x3d042108
+// 0.040323
+0x3d25294a
+// 0.048387
+0x3d46318d
+// 0.056452
+0x3d6739cf
+// 0.064516
+0x3d842108
+// 0.072581
+0x3d94a529
+// 0.080645
+0x3da5294a
+// 0.088710
+0x3db5ad6b
+// 0.096774
+0x3dc6318c
+// 0.104839
+0x3dd6b5ad
+// 0.112903
+0x3de739cf
+// 0.120968
+0x3df7bdf0
+// 0.129032
+0x3e042108
+// 0.137097
+0x3e0c6319
+// 0.145161
+0x3e14a529
+// 0.153226
+0x3e1ce73a
+// 0.161290
+0x3e25294a
+// 0.169355
+0x3e2d6b5b
+// 0.177419
+0x3e35ad6b
+// 0.185484
+0x3e3def7c
+// 0.193548
+0x3e46318c
+// 0.201613
+0x3e4e739d
+// 0.209677
+0x3e56b5ad
+// 0.217742
+0x3e5ef7be
+// 0.225806
+0x3e6739ce
+// 0.233871
+0x3e6f7bdf
+// 0.241935
+0x3e77bdf0
+// 0.250000
+0x3e800000
+// 0.258065
+0x3e842108
+// 0.266129
+0x3e884211
+// 0.274194
+0x3e8c6319
+// 0.282258
+0x3e908421
+// 0.290323
+0x3e94a529
+// 0.298387
+0x3e98c632
+// 0.306452
+0x3e9ce73a
+// 0.314516
+0x3ea10842
+// 0.322581
+0x3ea5294a
+// 0.330645
+0x3ea94a53
+// 0.338710
+0x3ead6b5b
+// 0.346774
+0x3eb18c63
+// 0.354839
+0x3eb5ad6b
+// 0.362903
+0x3eb9ce74
+// 0.370968
+0x3ebdef7c
+// 0.379032
+0x3ec21084
+// 0.387097
+0x3ec6318c
+// 0.395161
+0x3eca5295
+// 0.403226
+0x3ece739d
+// 0.411290
+0x3ed294a5
+// 0.419355
+0x3ed6b5ad
+// 0.427419
+0x3edad6b6
+// 0.435484
+0x3edef7be
+// 0.443548
+0x3ee318c6
+// 0.451613
+0x3ee739ce
+// 0.459677
+0x3eeb5ad7
+// 0.467742
+0x3eef7bdf
+// 0.475806
+0x3ef39ce7
+// 0.483871
+0x3ef7bdef
+// 0.491935
+0x3efbdef8
+// 0.500000
+0x3f000000
+// 0.508065
+0x3f021084
+// 0.516129
+0x3f042108
+// 0.524194
+0x3f06318c
+// 0.532258
+0x3f084211
+// 0.540323
+0x3f0a5295
+// 0.548387
+0x3f0c6319
+// 0.556452
+0x3f0e739d
+// 0.564516
+0x3f108421
+// 0.572581
+0x3f1294a5
+// 0.580645
+0x3f14a529
+// 0.588710
+0x3f16b5ad
+// 0.596774
+0x3f18c632
+// 0.604839
+0x3f1ad6b6
+// 0.612903
+0x3f1ce73a
+// 0.620968
+0x3f1ef7be
+// 0.629032
+0x3f210842
+// 0.637097
+0x3f2318c6
+// 0.645161
+0x3f25294a
+// 0.653226
+0x3f2739ce
+// 0.661290
+0x3f294a53
+// 0.669355
+0x3f2b5ad7
+// 0.677419
+0x3f2d6b5b
+// 0.685484
+0x3f2f7bdf
+// 0.693548
+0x3f318c63
+// 0.701613
+0x3f339ce7
+// 0.709677
+0x3f35ad6b
+// 0.717742
+0x3f37bdef
+// 0.725806
+0x3f39ce74
+// 0.733871
+0x3f3bdef8
+// 0.741935
+0x3f3def7c
+// 0.750000
+0x3f400000
+// 0.758065
+0x3f421084
+// 0.766129
+0x3f442108
+// 0.774194
+0x3f46318c
+// 0.782258
+0x3f484211
+// 0.790323
+0x3f4a5295
+// 0.798387
+0x3f4c6319
+// 0.806452
+0x3f4e739d
+// 0.814516
+0x3f508421
+// 0.822581
+0x3f5294a5
+// 0.830645
+0x3f54a529
+// 0.838710
+0x3f56b5ad
+// 0.846774
+0x3f58c632
+// 0.854839
+0x3f5ad6b6
+// 0.862903
+0x3f5ce73a
+// 0.870968
+0x3f5ef7be
+// 0.879032
+0x3f610842
+// 0.887097
+0x3f6318c6
+// 0.895161
+0x3f65294a
+// 0.903226
+0x3f6739ce
+// 0.911290
+0x3f694a53
+// 0.919355
+0x3f6b5ad7
+// 0.927419
+0x3f6d6b5b
+// 0.935484
+0x3f6f7bdf
+// 0.943548
+0x3f718c63
+// 0.951613
+0x3f739ce7
+// 0.959677
+0x3f75ad6b
+// 0.967742
+0x3f77bdef
+// 0.975806
+0x3f79ce74
+// 0.983871
+0x3f7bdef8
+// 0.991935
+0x3f7def7c
+// 1.000000
+0x3f800000
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF64/Log1_f64.txt b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF64/Log1_f64.txt
index 7c87340..2130e9d 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF64/Log1_f64.txt
+++ b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF64/Log1_f64.txt
@@ -1,252 +1,252 @@
D
125
-// 0.000000
-0x0
-// -0.173287
-0xbfc62e42fefa39f1
-// -0.346574
-0xbfd62e42fefa39ee
-// -0.519860
-0xbfe0a2b23f3bab74
-// -0.693147
-0xbfe62e42fefa39ef
-// -0.866434
-0xbfebb9d3beb8c86b
-// -1.039721
-0xbff0a2b23f3bab73
-// -1.213008
-0xbff3687a9f1af2b1
-// -1.386294
-0xbff62e42fefa39ef
-// -1.559581
-0xbff8f40b5ed9812d
-// -1.732868
-0xbffbb9d3beb8c86b
-// -1.906155
-0xbffe7f9c1e980fa9
-// -2.079442
-0xc000a2b23f3bab73
-// -2.252728
-0xc00205966f2b4f12
-// -2.426015
-0xc003687a9f1af2b1
-// -2.599302
-0xc004cb5ecf0a9650
-// -2.772589
-0xc0062e42fefa39ef
-// -2.945876
-0xc00791272ee9dd8e
-// -3.119162
-0xc008f40b5ed9812d
-// -3.292449
-0xc00a56ef8ec924cc
-// -3.465736
-0xc00bb9d3beb8c86b
-// -3.639023
-0xc00d1cb7eea86c0a
-// -3.812309
-0xc00e7f9c1e980fa9
-// -3.985596
-0xc00fe2804e87b348
-// -4.158883
-0xc010a2b23f3bab73
-// -4.332170
-0xc011542457337d43
-// -4.505457
-0xc01205966f2b4f12
-// -4.678743
-0xc012b708872320e2
-// -4.852030
-0xc013687a9f1af2b1
-// -5.025317
-0xc01419ecb712c481
-// -5.198604
-0xc014cb5ecf0a9650
-// -5.371891
-0xc0157cd0e7026820
-// -5.545177
-0xc0162e42fefa39ef
-// -5.718464
-0xc016dfb516f20bbf
-// -5.891751
-0xc01791272ee9dd8e
-// -6.065038
-0xc018429946e1af5e
-// -6.238325
-0xc018f40b5ed9812d
-// -6.411611
-0xc019a57d76d152fd
-// -6.584898
-0xc01a56ef8ec924cc
-// -6.758185
-0xc01b0861a6c0f69c
-// -6.931472
-0xc01bb9d3beb8c86b
-// -7.104759
-0xc01c6b45d6b09a3b
-// -7.278045
-0xc01d1cb7eea86c0a
-// -7.451332
-0xc01dce2a06a03dd9
-// -7.624619
-0xc01e7f9c1e980fa9
-// -7.797906
-0xc01f310e368fe178
-// -7.971193
-0xc01fe2804e87b348
-// -8.144479
-0xc02049f9333fc28c
-// -8.317766
-0xc020a2b23f3bab73
-// -8.491053
-0xc020fb6b4b37945b
-// -8.664340
-0xc021542457337d43
-// -8.837627
-0xc021acdd632f662b
-// -9.010913
-0xc02205966f2b4f12
-// -9.184200
-0xc0225e4f7b2737fa
-// -9.357487
-0xc022b708872320e2
-// -9.530774
-0xc0230fc1931f09ca
-// -9.704061
-0xc023687a9f1af2b1
-// -9.877347
-0xc023c133ab16db99
-// -10.050634
-0xc02419ecb712c481
-// -10.223921
-0xc02472a5c30ead69
-// -10.397208
-0xc024cb5ecf0a9650
-// -10.570495
-0xc0252417db067f38
-// -10.743781
-0xc0257cd0e7026820
-// -10.917068
-0xc025d589f2fe5107
-// -11.090355
-0xc0262e42fefa39ef
-// -11.263642
-0xc02686fc0af622d7
-// -11.436928
-0xc026dfb516f20bbf
-// -11.610215
-0xc027386e22edf4a6
-// -11.783502
-0xc02791272ee9dd8e
-// -11.956789
-0xc027e9e03ae5c676
-// -12.130076
-0xc028429946e1af5e
-// -12.303362
-0xc0289b5252dd9845
-// -12.476649
-0xc028f40b5ed9812d
-// -12.649936
-0xc0294cc46ad56a15
-// -12.823223
-0xc029a57d76d152fd
-// -12.996510
-0xc029fe3682cd3be4
-// -13.169796
-0xc02a56ef8ec924cc
-// -13.343083
-0xc02aafa89ac50db4
-// -13.516370
-0xc02b0861a6c0f69b
-// -13.689657
-0xc02b611ab2bcdf83
-// -13.862944
-0xc02bb9d3beb8c86b
-// -14.036230
-0xc02c128ccab4b153
-// -14.209517
-0xc02c6b45d6b09a3a
-// -14.382804
-0xc02cc3fee2ac8322
-// -14.556091
-0xc02d1cb7eea86c0a
-// -14.729378
-0xc02d7570faa454f2
-// -14.902664
-0xc02dce2a06a03dd9
-// -15.075951
-0xc02e26e3129c26c1
-// -15.249238
-0xc02e7f9c1e980fa9
-// -15.422525
-0xc02ed8552a93f891
-// -15.595812
-0xc02f310e368fe178
-// -15.769098
-0xc02f89c7428bca60
-// -15.942385
-0xc02fe2804e87b348
-// -16.115672
-0xc0301d9cad41ce18
-// -16.288959
-0xc03049f9333fc28c
-// -16.462246
-0xc0307655b93db700
-// -16.635532
-0xc030a2b23f3bab73
-// -16.808819
-0xc030cf0ec5399fe7
-// -16.982106
-0xc030fb6b4b37945b
-// -17.155393
-0xc03127c7d13588cf
-// -17.328680
-0xc031542457337d43
-// -17.501966
-0xc0318080dd3171b7
-// -17.675253
-0xc031acdd632f662b
-// -17.848540
-0xc031d939e92d5a9e
-// -18.021827
-0xc03205966f2b4f12
-// -18.195113
-0xc03231f2f5294386
-// -18.368400
-0xc0325e4f7b2737fa
-// -18.541687
-0xc0328aac01252c6e
-// -18.714974
-0xc032b708872320e2
-// -18.888261
-0xc032e3650d211556
-// -19.061547
-0xc0330fc1931f09ca
-// -19.234834
-0xc0333c1e191cfe3d
-// -19.408121
-0xc033687a9f1af2b1
-// -19.581408
-0xc03394d72518e725
-// -19.754695
-0xc033c133ab16db99
-// -19.927981
-0xc033ed903114d00d
-// -20.101268
-0xc03419ecb712c481
-// -20.274555
-0xc03446493d10b8f5
-// -20.447842
-0xc03472a5c30ead69
-// -20.621129
-0xc0349f02490ca1dc
-// -20.794415
-0xc034cb5ecf0a9650
-// -20.967702
-0xc034f7bb55088ac4
-// -21.140989
-0xc0352417db067f38
-// -21.314276
-0xc0355074610473ac
// -21.487563
0xc0357cd0e7026820
+// -4.820282
+0xc01347f7e02f242b
+// -4.127134
+0xc010822f823fdceb
+// -3.721669
+0xc00dc5fa88327177
+// -3.433987
+0xc00b78ce46b12b5a
+// -3.210844
+0xc009afceca9ab4eb
+// -3.028522
+0xc0083a69c9be8da6
+// -2.874371
+0xc006feb66fe9ad6f
+// -2.740840
+0xc005ed3d87ea9cde
+// -2.623057
+0xc004fc054c94d380
+// -2.517696
+0xc004243e0ba28cd6
+// -2.422386
+0xc003610c0feab3ef
+// -2.335375
+0xc002aed90aa5547f
+// -2.255332
+0xc0020aeb9c541e77
+// -2.181224
+0xc0017325b0b8d5cf
+// -2.112231
+0xc000e5d98e4cbbee
+// -2.047693
+0xc00061acc8a80e62
+// -1.987068
+0xbfffcb080b5e2846
+// -1.929910
+0xbffee0e91a88fbcf
+// -1.875843
+0xbffe0373836252b6
+// -1.824549
+0xbffd315a988e631b
+// -1.775759
+0xbffc698266a03f72
+// -1.729239
+0xbffbaaf6a10ca7fd
+// -1.684787
+0xbffaf4e393eca332
+// -1.642228
+0xbffa46909672e15c
+// -1.601406
+0xbff99f5b9fc2bdea
+// -1.562185
+0xbff8feb5b9c3bd80
+// -1.524445
+0xbff864201fa290ff
+// -1.488077
+0xbff7cf29e2824581
+// -1.452986
+0xbff73f6df817c089
+// -1.419084
+0xbff6b4919da09f29
+// -1.386294
+0xbff62e42fe9a39ef
+// -1.354546
+0xbff5ac38124effcd
+// -1.323774
+0xbff52e2da618e0f2
+// -1.293921
+0xbff4b3e68c55c003
+// -1.264934
+0xbff43d2ae9ab4a03
+// -1.236763
+0xbff3c9c79b7a17bb
+// -1.209364
+0xbff3598db35bc2e4
+// -1.182695
+0xbff2ec52044da189
+// -1.156720
+0xbff281ecbec6b69b
+// -1.131402
+0xbff21a3919747956
+// -1.106709
+0xbff1b51504be7039
+// -1.082612
+0xbff15260e7819c62
+// -1.059081
+0xbff0f1ff63b67110
+// -1.036092
+0xbff093d521e9b991
+// -1.013619
+0xbff037c8a29ccfd8
+// -0.991640
+0xbfefbb84298b9206
+// -0.970134
+0xbfef0b56618c848e
+// -0.949081
+0xbfee5ede2e90de1f
+// -0.928461
+0xbfedb5f4670dc25c
+// -0.908259
+0xbfed10744129fa38
+// -0.888456
+0xbfec6e3b229981af
+// -0.869038
+0xbfebcf287525de9a
+// -0.849990
+0xbfeb331d7f5a723b
+// -0.831298
+0xbfea99fd40ddde93
+// -0.812948
+0xbfea03ac5210df38
+// -0.794930
+0xbfe97010c69807ee
+// -0.777230
+0xbfe8df121281141c
+// -0.759839
+0xbfe85098f1be1aff
+// -0.742744
+0xbfe7c48f51b95355
+// -0.725937
+0xbfe73ae03ccb48a7
+// -0.709408
+0xbfe6b377c763a7b1
+// -0.693147
+0xbfe62e42feba39ef
+// -0.677147
+0xbfe5ab2fd8e2688e
+// -0.661398
+0xbfe52a2d261fc5ab
+// -0.645894
+0xbfe4ab2a835dbdfa
+// -0.630627
+0xbfe42e184dafc604
+// -0.615589
+0xbfe3b2e796c2253b
+// -0.600774
+0xbfe3398a1a25facc
+// -0.586175
+0xbfe2c1f2336547bb
+// -0.571786
+0xbfe24c12d4cdb92c
+// -0.557602
+0xbfe1d7df7ee2a4b0
+// -0.543615
+0xbfe1654c38682e6b
+// -0.529822
+0xbfe0f44d86faebba
+// -0.516216
+0xbfe084d868288a1e
+// -0.502793
+0xbfe016e24aff162d
+// -0.489548
+0xbfdf54c21412e9d9
+// -0.476476
+0xbfde7e95cb60fd94
+// -0.463573
+0xbfddab2cfdf1e345
+// -0.450834
+0xbfdcda75a52e420d
+// -0.438255
+0xbfdc0c5e68a3d7e0
+// -0.425832
+0xbfdb40d6955e1e86
+// -0.413562
+0xbfda77ce15c6dca3
+// -0.401441
+0xbfd9b1356a04bfd7
+// -0.389465
+0xbfd8ecfda0cef178
+// -0.377630
+0xbfd82b1850ad5735
+// -0.365934
+0xbfd76b77919ddf42
+// -0.354373
+0xbfd6ae0df717d59b
+// -0.342945
+0xbfd5f2ce8a66cf7c
+// -0.331645
+0xbfd539acc5573cde
+// -0.320472
+0xbfd4829c8d2f2686
+// -0.309422
+0xbfd3cd922dee0bc0
+// -0.298493
+0xbfd31a8255cf35be
+// -0.287682
+0xbfd26962110a30e8
+// -0.276987
+0xbfd1ba26c5cd6f1c
+// -0.266405
+0xbfd10cc6306f617e
+// -0.255933
+0xbfd061365fd29db5
+// -0.245571
+0xbfcf6edb63f3c41f
+// -0.235314
+0xbfce1ec5a1920ccd
+// -0.225162
+0xbfccd2195de03a36
+// -0.215111
+0xbfcb88c509fc71c6
+// -0.205161
+0xbfca42b79d32f2f8
+// -0.195309
+0xbfc8ffe08fb45634
+// -0.185553
+0xbfc7c02fd58dd5e8
+// -0.175891
+0xbfc68395d9dfcdc0
+// -0.166321
+0xbfc54a037a4edd8b
+// -0.156842
+0xbfc4136a02ac59f1
+// -0.147453
+0xbfc2dfbb28d2ed6a
+// -0.138150
+0xbfc1aee908b47f9a
+// -0.128934
+0xbfc080e62096a99b
+// -0.119801
+0xbfbeab4a9af6542b
+// -0.110751
+0xbfbc5a338f63eb20
+// -0.101783
+0xbfba0e6e3f254b64
+// -0.092894
+0xbfb7c7e274b65c08
+// -0.084083
+0xbfb586789e63baf2
+// -0.075349
+0xbfb34a19c891a728
+// -0.066691
+0xbfb112af984257f1
+// -0.058108
+0xbfadc0488bb0f9a5
+// -0.049597
+0xbfa964c53025a7b6
+// -0.041158
+0xbfa512abbe7be48e
+// -0.032790
+0xbfa0c9d3e1330da4
+// -0.024491
+0xbf99142c87ba162b
+// -0.016261
+0xbf90a699154f4b19
+// -0.008097
+0xbf80954528f93190
+// 0.000000
+0x0
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF64/LogInput1_f64.txt b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF64/LogInput1_f64.txt
index 0d6708e..8682ddf 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF64/LogInput1_f64.txt
+++ b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathF64/LogInput1_f64.txt
@@ -1,252 +1,252 @@
D
125
-// 1.000000
-0x3ff0000000000000
-// 0.840896
-0x3feae89f995ad3ad
-// 0.707107
-0x3fe6a09e667f3bcd
-// 0.594604
-0x3fe306fe0a31b715
-// 0.500000
-0x3fe0000000000000
-// 0.420448
-0x3fdae89f995ad3ad
-// 0.353553
-0x3fd6a09e667f3bcd
-// 0.297302
-0x3fd306fe0a31b715
-// 0.250000
-0x3fd0000000000000
-// 0.210224
-0x3fcae89f995ad3ad
-// 0.176777
-0x3fc6a09e667f3bcd
-// 0.148651
-0x3fc306fe0a31b715
-// 0.125000
-0x3fc0000000000000
-// 0.105112
-0x3fbae89f995ad3ad
-// 0.088388
-0x3fb6a09e667f3bcd
-// 0.074325
-0x3fb306fe0a31b715
-// 0.062500
-0x3fb0000000000000
-// 0.052556
-0x3faae89f995ad3ad
-// 0.044194
-0x3fa6a09e667f3bcd
-// 0.037163
-0x3fa306fe0a31b715
-// 0.031250
-0x3fa0000000000000
-// 0.026278
-0x3f9ae89f995ad3ad
-// 0.022097
-0x3f96a09e667f3bcd
-// 0.018581
-0x3f9306fe0a31b715
-// 0.015625
-0x3f90000000000000
-// 0.013139
-0x3f8ae89f995ad3ad
-// 0.011049
-0x3f86a09e667f3bcd
-// 0.009291
-0x3f8306fe0a31b715
-// 0.007812
-0x3f80000000000000
-// 0.006570
-0x3f7ae89f995ad3ad
-// 0.005524
-0x3f76a09e667f3bcd
-// 0.004645
-0x3f7306fe0a31b715
-// 0.003906
-0x3f70000000000000
-// 0.003285
-0x3f6ae89f995ad3ad
-// 0.002762
-0x3f66a09e667f3bcd
-// 0.002323
-0x3f6306fe0a31b715
-// 0.001953
-0x3f60000000000000
-// 0.001642
-0x3f5ae89f995ad3ad
-// 0.001381
-0x3f56a09e667f3bcd
-// 0.001161
-0x3f5306fe0a31b715
-// 0.000977
-0x3f50000000000000
-// 0.000821
-0x3f4ae89f995ad3ad
-// 0.000691
-0x3f46a09e667f3bcd
-// 0.000581
-0x3f4306fe0a31b715
-// 0.000488
-0x3f40000000000000
-// 0.000411
-0x3f3ae89f995ad3ad
-// 0.000345
-0x3f36a09e667f3bcd
-// 0.000290
-0x3f3306fe0a31b715
-// 0.000244
-0x3f30000000000000
-// 0.000205
-0x3f2ae89f995ad3ad
-// 0.000173
-0x3f26a09e667f3bcd
-// 0.000145
-0x3f2306fe0a31b715
-// 0.000122
-0x3f20000000000000
-// 0.000103
-0x3f1ae89f995ad3ad
-// 0.000086
-0x3f16a09e667f3bcd
-// 0.000073
-0x3f1306fe0a31b715
-// 0.000061
-0x3f10000000000000
-// 0.000051
-0x3f0ae89f995ad3ad
-// 0.000043
-0x3f06a09e667f3bcd
-// 0.000036
-0x3f0306fe0a31b715
-// 0.000031
-0x3f00000000000000
-// 0.000026
-0x3efae89f995ad3ad
-// 0.000022
-0x3ef6a09e667f3bcd
-// 0.000018
-0x3ef306fe0a31b715
-// 0.000015
-0x3ef0000000000000
-// 0.000013
-0x3eeae89f995ad3ad
-// 0.000011
-0x3ee6a09e667f3bcd
-// 0.000009
-0x3ee306fe0a31b715
-// 0.000008
-0x3ee0000000000000
-// 0.000006
-0x3edae89f995ad3ad
-// 0.000005
-0x3ed6a09e667f3bcd
-// 0.000005
-0x3ed306fe0a31b715
-// 0.000004
-0x3ed0000000000000
-// 0.000003
-0x3ecae89f995ad3ad
-// 0.000003
-0x3ec6a09e667f3bcd
-// 0.000002
-0x3ec306fe0a31b715
-// 0.000002
-0x3ec0000000000000
-// 0.000002
-0x3ebae89f995ad3ad
-// 0.000001
-0x3eb6a09e667f3bcd
-// 0.000001
-0x3eb306fe0a31b715
-// 0.000001
-0x3eb0000000000000
-// 0.000001
-0x3eaae89f995ad3ad
-// 0.000001
-0x3ea6a09e667f3bcd
-// 0.000001
-0x3ea306fe0a31b715
-// 0.000000
-0x3ea0000000000000
-// 0.000000
-0x3e9ae89f995ad3ad
-// 0.000000
-0x3e96a09e667f3bcd
-// 0.000000
-0x3e9306fe0a31b715
-// 0.000000
-0x3e90000000000000
-// 0.000000
-0x3e8ae89f995ad3ad
-// 0.000000
-0x3e86a09e667f3bcd
-// 0.000000
-0x3e8306fe0a31b715
-// 0.000000
-0x3e80000000000000
-// 0.000000
-0x3e7ae89f995ad3ad
-// 0.000000
-0x3e76a09e667f3bcd
-// 0.000000
-0x3e7306fe0a31b715
-// 0.000000
-0x3e70000000000000
-// 0.000000
-0x3e6ae89f995ad3ad
-// 0.000000
-0x3e66a09e667f3bcd
-// 0.000000
-0x3e6306fe0a31b715
-// 0.000000
-0x3e60000000000000
-// 0.000000
-0x3e5ae89f995ad3ad
-// 0.000000
-0x3e56a09e667f3bcd
-// 0.000000
-0x3e5306fe0a31b715
-// 0.000000
-0x3e50000000000000
-// 0.000000
-0x3e4ae89f995ad3ad
-// 0.000000
-0x3e46a09e667f3bcd
-// 0.000000
-0x3e4306fe0a31b715
-// 0.000000
-0x3e40000000000000
-// 0.000000
-0x3e3ae89f995ad3ad
-// 0.000000
-0x3e36a09e667f3bcd
-// 0.000000
-0x3e3306fe0a31b715
-// 0.000000
-0x3e30000000000000
-// 0.000000
-0x3e2ae89f995ad3ad
-// 0.000000
-0x3e26a09e667f3bcd
-// 0.000000
-0x3e2306fe0a31b715
-// 0.000000
-0x3e20000000000000
-// 0.000000
-0x3e1ae89f995ad3ad
-// 0.000000
-0x3e16a09e667f3bcd
-// 0.000000
-0x3e1306fe0a31b715
-// 0.000000
-0x3e10000000000000
-// 0.000000
-0x3e0ae89f995ad3ad
-// 0.000000
-0x3e06a09e667f3bcd
-// 0.000000
-0x3e0306fe0a31b715
// 0.000000
0x3e00000000000000
+// 0.008065
+0x3f80842118210842
+// 0.016129
+0x3f90842110210842
+// 0.024194
+0x3f98c63194318c63
+// 0.032258
+0x3fa084210c210842
+// 0.040323
+0x3fa4a5294e294a52
+// 0.048387
+0x3fa8c63190318c63
+// 0.056452
+0x3face739d239ce74
+// 0.064516
+0x3fb084210a210842
+// 0.072581
+0x3fb294a52b25294a
+// 0.080645
+0x3fb4a5294c294a52
+// 0.088710
+0x3fb6b5ad6d2d6b5b
+// 0.096774
+0x3fb8c6318e318c63
+// 0.104839
+0x3fbad6b5af35ad6b
+// 0.112903
+0x3fbce739d039ce74
+// 0.120968
+0x3fbef7bdf13def7c
+// 0.129032
+0x3fc0842109210842
+// 0.137097
+0x3fc18c6319a318c6
+// 0.145161
+0x3fc294a52a25294a
+// 0.153226
+0x3fc39ce73aa739ce
+// 0.161290
+0x3fc4a5294b294a52
+// 0.169355
+0x3fc5ad6b5bab5ad7
+// 0.177419
+0x3fc6b5ad6c2d6b5b
+// 0.185484
+0x3fc7bdef7caf7bdf
+// 0.193548
+0x3fc8c6318d318c63
+// 0.201613
+0x3fc9ce739db39ce7
+// 0.209677
+0x3fcad6b5ae35ad6b
+// 0.217742
+0x3fcbdef7beb7bdef
+// 0.225806
+0x3fcce739cf39ce74
+// 0.233871
+0x3fcdef7bdfbbdef8
+// 0.241935
+0x3fcef7bdf03def7c
+// 0.250000
+0x3fd0000000600000
+// 0.258065
+0x3fd0842108a10842
+// 0.266129
+0x3fd1084210e21084
+// 0.274194
+0x3fd18c63192318c6
+// 0.282258
+0x3fd2108421642108
+// 0.290323
+0x3fd294a529a5294a
+// 0.298387
+0x3fd318c631e6318c
+// 0.306452
+0x3fd39ce73a2739ce
+// 0.314516
+0x3fd4210842684210
+// 0.322581
+0x3fd4a5294aa94a52
+// 0.330645
+0x3fd5294a52ea5295
+// 0.338710
+0x3fd5ad6b5b2b5ad7
+// 0.346774
+0x3fd6318c636c6319
+// 0.354839
+0x3fd6b5ad6bad6b5b
+// 0.362903
+0x3fd739ce73ee739d
+// 0.370968
+0x3fd7bdef7c2f7bdf
+// 0.379032
+0x3fd8421084708421
+// 0.387097
+0x3fd8c6318cb18c63
+// 0.395161
+0x3fd94a5294f294a5
+// 0.403226
+0x3fd9ce739d339ce7
+// 0.411290
+0x3fda5294a574a529
+// 0.419355
+0x3fdad6b5adb5ad6b
+// 0.427419
+0x3fdb5ad6b5f6b5ad
+// 0.435484
+0x3fdbdef7be37bdef
+// 0.443548
+0x3fdc6318c678c631
+// 0.451613
+0x3fdce739ceb9ce74
+// 0.459677
+0x3fdd6b5ad6fad6b6
+// 0.467742
+0x3fddef7bdf3bdef8
+// 0.475806
+0x3fde739ce77ce73a
+// 0.483871
+0x3fdef7bdefbdef7c
+// 0.491935
+0x3fdf7bdef7fef7be
+// 0.500000
+0x3fe0000000200000
+// 0.508065
+0x3fe0421084408421
+// 0.516129
+0x3fe0842108610842
+// 0.524194
+0x3fe0c6318c818c63
+// 0.532258
+0x3fe1084210a21084
+// 0.540323
+0x3fe14a5294c294a5
+// 0.548387
+0x3fe18c6318e318c6
+// 0.556452
+0x3fe1ce739d039ce7
+// 0.564516
+0x3fe2108421242108
+// 0.572581
+0x3fe25294a544a529
+// 0.580645
+0x3fe294a52965294a
+// 0.588710
+0x3fe2d6b5ad85ad6b
+// 0.596774
+0x3fe318c631a6318c
+// 0.604839
+0x3fe35ad6b5c6b5ad
+// 0.612903
+0x3fe39ce739e739ce
+// 0.620968
+0x3fe3def7be07bdef
+// 0.629032
+0x3fe4210842284210
+// 0.637097
+0x3fe46318c648c631
+// 0.645161
+0x3fe4a5294a694a52
+// 0.653226
+0x3fe4e739ce89ce74
+// 0.661290
+0x3fe5294a52aa5295
+// 0.669355
+0x3fe56b5ad6cad6b6
+// 0.677419
+0x3fe5ad6b5aeb5ad7
+// 0.685484
+0x3fe5ef7bdf0bdef8
+// 0.693548
+0x3fe6318c632c6319
+// 0.701613
+0x3fe6739ce74ce73a
+// 0.709677
+0x3fe6b5ad6b6d6b5b
+// 0.717742
+0x3fe6f7bdef8def7c
+// 0.725806
+0x3fe739ce73ae739d
+// 0.733871
+0x3fe77bdef7cef7be
+// 0.741935
+0x3fe7bdef7bef7bdf
+// 0.750000
+0x3fe8000000100000
+// 0.758065
+0x3fe8421084308421
+// 0.766129
+0x3fe8842108510842
+// 0.774194
+0x3fe8c6318c718c63
+// 0.782258
+0x3fe9084210921084
+// 0.790323
+0x3fe94a5294b294a5
+// 0.798387
+0x3fe98c6318d318c6
+// 0.806452
+0x3fe9ce739cf39ce7
+// 0.814516
+0x3fea108421142108
+// 0.822581
+0x3fea5294a534a529
+// 0.830645
+0x3fea94a52955294a
+// 0.838710
+0x3fead6b5ad75ad6b
+// 0.846774
+0x3feb18c63196318c
+// 0.854839
+0x3feb5ad6b5b6b5ad
+// 0.862903
+0x3feb9ce739d739ce
+// 0.870968
+0x3febdef7bdf7bdef
+// 0.879032
+0x3fec210842184210
+// 0.887097
+0x3fec6318c638c631
+// 0.895161
+0x3feca5294a594a52
+// 0.903226
+0x3fece739ce79ce74
+// 0.911290
+0x3fed294a529a5295
+// 0.919355
+0x3fed6b5ad6bad6b6
+// 0.927419
+0x3fedad6b5adb5ad7
+// 0.935484
+0x3fedef7bdefbdef8
+// 0.943548
+0x3fee318c631c6319
+// 0.951613
+0x3fee739ce73ce73a
+// 0.959677
+0x3feeb5ad6b5d6b5b
+// 0.967742
+0x3feef7bdef7def7c
+// 0.975806
+0x3fef39ce739e739d
+// 0.983871
+0x3fef7bdef7bef7be
+// 0.991935
+0x3fefbdef7bdf7bdf
+// 1.000000
+0x3ff0000000000000
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ15/Log1_q15.txt b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ15/Log1_q15.txt
index 4be8e03..5cb50b6 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ15/Log1_q15.txt
+++ b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ15/Log1_q15.txt
@@ -1,252 +1,252 @@
H
125
-// 0.000000
-0x0000
-// -0.005241
-0xFF54
-// -0.010481
-0xFEA9
-// -0.015722
-0xFDFD
-// -0.020962
-0xFD51
-// -0.026203
-0xFCA5
-// -0.031443
-0xFBFA
-// -0.036684
-0xFB4E
-// -0.041924
-0xFAA2
-// -0.047165
-0xF9F7
-// -0.052405
-0xF94B
-// -0.057646
-0xF89F
-// -0.062886
-0xF7F3
-// -0.068127
-0xF748
-// -0.073367
-0xF69C
-// -0.078608
-0xF5F0
-// -0.083848
-0xF544
-// -0.089089
-0xF499
-// -0.094330
-0xF3ED
-// -0.099570
-0xF341
-// -0.104811
-0xF296
-// -0.110051
-0xF1EA
-// -0.115292
-0xF13E
-// -0.120532
-0xF092
-// -0.125773
-0xEFE7
-// -0.131013
-0xEF3B
-// -0.136254
-0xEE8F
-// -0.141494
-0xEDE4
-// -0.146735
-0xED38
-// -0.151975
-0xEC8C
-// -0.157216
-0xEBE0
-// -0.162456
-0xEB35
-// -0.167697
-0xEA89
-// -0.172937
-0xE9DD
-// -0.178178
-0xE931
-// -0.183418
-0xE886
-// -0.188659
-0xE7DA
-// -0.193900
-0xE72E
-// -0.199140
-0xE683
-// -0.204381
-0xE5D7
-// -0.209621
-0xE52B
-// -0.214862
-0xE47F
-// -0.220102
-0xE3D4
-// -0.225343
-0xE328
-// -0.230583
-0xE27C
-// -0.235824
-0xE1D1
-// -0.241064
-0xE125
-// -0.246305
-0xE079
-// -0.251545
-0xDFCD
-// -0.256786
-0xDF22
-// -0.262026
-0xDE76
-// -0.267267
-0xDDCA
-// -0.272507
-0xDD1E
-// -0.277748
-0xDC73
-// -0.282989
-0xDBC7
-// -0.288229
-0xDB1B
-// -0.293470
-0xDA70
-// -0.298710
-0xD9C4
-// -0.303951
-0xD918
-// -0.309191
-0xD86C
-// -0.314432
-0xD7C1
-// -0.319672
-0xD715
-// -0.324913
-0xD669
-// -0.330153
-0xD5BE
-// -0.335394
-0xD512
-// -0.340634
-0xD466
-// -0.345875
-0xD3BA
-// -0.351115
-0xD30F
-// -0.356356
-0xD263
-// -0.361596
-0xD1B7
-// -0.366837
-0xD10B
-// -0.372077
-0xD060
-// -0.377318
-0xCFB4
-// -0.382559
-0xCF08
-// -0.387799
-0xCE5D
-// -0.393040
-0xCDB1
-// -0.398280
-0xCD05
-// -0.403521
-0xCC59
-// -0.408761
-0xCBAE
-// -0.414002
-0xCB02
-// -0.419242
-0xCA56
-// -0.424483
-0xC9AB
-// -0.429723
-0xC8FF
-// -0.434964
-0xC853
-// -0.440204
-0xC7A7
-// -0.445445
-0xC6FC
-// -0.450685
-0xC650
-// -0.455926
-0xC5A4
-// -0.461166
-0xC4F8
-// -0.466407
-0xC44D
-// -0.471648
-0xC3A1
-// -0.476888
-0xC2F5
-// -0.482129
-0xC24A
-// -0.487369
-0xC19E
-// -0.492610
-0xC0F2
-// -0.497850
-0xC046
-// -0.503091
-0xBF9B
-// -0.508331
-0xBEEF
-// -0.513572
-0xBE43
-// -0.518812
-0xBD98
-// -0.524053
-0xBCEC
-// -0.529293
-0xBC40
-// -0.534534
-0xBB94
-// -0.539774
-0xBAE9
-// -0.545015
-0xBA3D
-// -0.550255
-0xB991
-// -0.555496
-0xB8E6
-// -0.560737
-0xB83A
-// -0.565977
-0xB78E
-// -0.571218
-0xB6E2
-// -0.576458
-0xB637
-// -0.581699
-0xB58B
-// -0.586939
-0xB4DF
-// -0.592180
-0xB433
-// -0.597420
-0xB388
-// -0.602661
-0xB2DC
-// -0.607901
-0xB230
-// -0.613142
-0xB185
-// -0.618382
-0xB0D9
-// -0.623623
-0xB02D
-// -0.628863
-0xAF81
-// -0.634104
-0xAED6
-// -0.639344
-0xAE2A
-// -0.644585
-0xAD7E
// -0.649825
0xACD3
+// -0.301033
+0xD978
+// -0.257830
+0xDEFF
+// -0.232527
+0xE23D
+// -0.214567
+0xE489
+// -0.200632
+0xE652
+// -0.189245
+0xE7C7
+// -0.179616
+0xE902
+// -0.171275
+0xEA14
+// -0.163917
+0xEB05
+// -0.157334
+0xEBDC
+// -0.151380
+0xECA0
+// -0.145943
+0xED52
+// -0.140942
+0xEDF6
+// -0.136312
+0xEE8D
+// -0.132001
+0xEF1B
+// -0.127968
+0xEF9F
+// -0.124180
+0xF01B
+// -0.120608
+0xF090
+// -0.117230
+0xF0FF
+// -0.114024
+0xF168
+// -0.110976
+0xF1CC
+// -0.108069
+0xF22B
+// -0.105291
+0xF286
+// -0.102631
+0xF2DD
+// -0.100080
+0xF331
+// -0.097629
+0xF381
+// -0.095271
+0xF3CE
+// -0.092998
+0xF419
+// -0.090805
+0xF460
+// -0.088687
+0xF4A6
+// -0.086638
+0xF4E9
+// -0.084654
+0xF52A
+// -0.082731
+0xF569
+// -0.080865
+0xF5A6
+// -0.079053
+0xF5E2
+// -0.077293
+0xF61B
+// -0.075581
+0xF653
+// -0.073914
+0xF68A
+// -0.072291
+0xF6BF
+// -0.070709
+0xF6F3
+// -0.069165
+0xF726
+// -0.067660
+0xF757
+// -0.066189
+0xF787
+// -0.064752
+0xF7B6
+// -0.063348
+0xF7E4
+// -0.061974
+0xF811
+// -0.060630
+0xF83D
+// -0.059315
+0xF868
+// -0.058026
+0xF893
+// -0.056763
+0xF8BC
+// -0.055526
+0xF8E5
+// -0.054312
+0xF90C
+// -0.053122
+0xF933
+// -0.051954
+0xF95A
+// -0.050807
+0xF97F
+// -0.049681
+0xF9A4
+// -0.048575
+0xF9C8
+// -0.047488
+0xF9EC
+// -0.046419
+0xFA0F
+// -0.045369
+0xFA31
+// -0.044336
+0xFA53
+// -0.043320
+0xFA74
+// -0.042320
+0xFA95
+// -0.041336
+0xFAB6
+// -0.040367
+0xFAD5
+// -0.039413
+0xFAF5
+// -0.038473
+0xFB13
+// -0.037547
+0xFB32
+// -0.036634
+0xFB50
+// -0.035735
+0xFB6D
+// -0.034849
+0xFB8A
+// -0.033975
+0xFBA7
+// -0.033113
+0xFBC3
+// -0.032262
+0xFBDF
+// -0.031423
+0xFBFA
+// -0.030596
+0xFC15
+// -0.029779
+0xFC30
+// -0.028972
+0xFC4B
+// -0.028176
+0xFC65
+// -0.027390
+0xFC7E
+// -0.026614
+0xFC98
+// -0.025847
+0xFCB1
+// -0.025089
+0xFCCA
+// -0.024341
+0xFCE2
+// -0.023601
+0xFCFB
+// -0.022870
+0xFD13
+// -0.022148
+0xFD2A
+// -0.021433
+0xFD42
+// -0.020727
+0xFD59
+// -0.020029
+0xFD70
+// -0.019338
+0xFD86
+// -0.018655
+0xFD9D
+// -0.017979
+0xFDB3
+// -0.017311
+0xFDC9
+// -0.016650
+0xFDDE
+// -0.015995
+0xFDF4
+// -0.015348
+0xFE09
+// -0.014707
+0xFE1E
+// -0.014072
+0xFE33
+// -0.013444
+0xFE47
+// -0.012822
+0xFE5C
+// -0.012206
+0xFE70
+// -0.011597
+0xFE84
+// -0.010993
+0xFE98
+// -0.010395
+0xFEAB
+// -0.009802
+0xFEBF
+// -0.009215
+0xFED2
+// -0.008634
+0xFEE5
+// -0.008058
+0xFEF8
+// -0.007487
+0xFF0B
+// -0.006922
+0xFF1D
+// -0.006361
+0xFF30
+// -0.005806
+0xFF42
+// -0.005255
+0xFF54
+// -0.004709
+0xFF66
+// -0.004168
+0xFF77
+// -0.003632
+0xFF89
+// -0.003100
+0xFF9A
+// -0.002572
+0xFFAC
+// -0.002049
+0xFFBD
+// -0.001531
+0xFFCE
+// -0.001016
+0xFFDF
+// -0.000506
+0xFFEF
+// 0.000000
+0x0000
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ15/LogInput1_q15.txt b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ15/LogInput1_q15.txt
index 94605ae..8453d7e 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ15/LogInput1_q15.txt
+++ b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ15/LogInput1_q15.txt
@@ -1,252 +1,252 @@
H
125
-// 1.000000
-0x7FFF
-// 0.919571
-0x75B4
-// 0.845610
-0x6C3D
-// 0.777598
-0x6388
-// 0.715056
-0x5B87
-// 0.657545
-0x542A
-// 0.604659
-0x4D65
-// 0.556027
-0x472C
-// 0.511306
-0x4172
-// 0.470182
-0x3C2F
-// 0.432365
-0x3758
-// 0.397590
-0x32E4
-// 0.365612
-0x2ECC
-// 0.336206
-0x2B09
-// 0.309166
-0x2793
-// 0.284300
-0x2464
-// 0.261434
-0x2177
-// 0.240407
-0x1EC6
-// 0.221071
-0x1C4C
-// 0.203290
-0x1A05
-// 0.186940
-0x17EE
-// 0.171904
-0x1601
-// 0.158078
-0x143C
-// 0.145364
-0x129B
-// 0.133672
-0x111C
-// 0.122921
-0x0FBC
-// 0.113035
-0x0E78
-// 0.103943
-0x0D4E
-// 0.095583
-0x0C3C
-// 0.087896
-0x0B40
-// 0.080826
-0x0A59
-// 0.074325
-0x0983
-// 0.068347
-0x08C0
-// 0.062850
-0x080B
-// 0.057795
-0x0766
-// 0.053147
-0x06CE
-// 0.048872
-0x0641
-// 0.044942
-0x05C1
-// 0.041327
-0x054A
-// 0.038003
-0x04DD
-// 0.034946
-0x0479
-// 0.032136
-0x041D
-// 0.029551
-0x03C8
-// 0.027174
-0x037A
-// 0.024989
-0x0333
-// 0.022979
-0x02F1
-// 0.021131
-0x02B4
-// 0.019431
-0x027D
-// 0.017868
-0x024A
-// 0.016431
-0x021A
-// 0.015110
-0x01EF
-// 0.013894
-0x01C7
-// 0.012777
-0x01A3
-// 0.011749
-0x0181
-// 0.010804
-0x0162
-// 0.009935
-0x0146
-// 0.009136
-0x012B
-// 0.008401
-0x0113
-// 0.007726
-0x00FD
-// 0.007104
-0x00E9
-// 0.006533
-0x00D6
-// 0.006007
-0x00C5
-// 0.005524
-0x00B5
-// 0.005080
-0x00A6
-// 0.004671
-0x0099
-// 0.004296
-0x008D
-// 0.003950
-0x0081
-// 0.003632
-0x0077
-// 0.003340
-0x006D
-// 0.003072
-0x0065
-// 0.002825
-0x005D
-// 0.002597
-0x0055
-// 0.002389
-0x004E
-// 0.002196
-0x0048
-// 0.002020
-0x0042
-// 0.001857
-0x003D
-// 0.001708
-0x0038
-// 0.001571
-0x0033
-// 0.001444
-0x002F
-// 0.001328
-0x002C
-// 0.001221
-0x0028
-// 0.001123
-0x0025
-// 0.001033
-0x0022
-// 0.000950
-0x001F
-// 0.000873
-0x001D
-// 0.000803
-0x001A
-// 0.000738
-0x0018
-// 0.000679
-0x0016
-// 0.000624
-0x0014
-// 0.000574
-0x0013
-// 0.000528
-0x0011
-// 0.000486
-0x0010
-// 0.000447
-0x000F
-// 0.000411
-0x000D
-// 0.000378
-0x000C
-// 0.000347
-0x000B
-// 0.000319
-0x000A
-// 0.000294
-0x000A
-// 0.000270
-0x0009
-// 0.000248
-0x0008
-// 0.000228
-0x0007
-// 0.000210
-0x0007
-// 0.000193
-0x0006
-// 0.000178
-0x0006
-// 0.000163
-0x0005
-// 0.000150
-0x0005
-// 0.000138
-0x0005
-// 0.000127
-0x0004
-// 0.000117
-0x0004
-// 0.000107
-0x0004
-// 0.000099
-0x0003
-// 0.000091
-0x0003
-// 0.000083
-0x0003
-// 0.000077
-0x0003
-// 0.000071
-0x0002
-// 0.000065
-0x0002
-// 0.000060
-0x0002
-// 0.000055
-0x0002
-// 0.000050
-0x0002
-// 0.000046
-0x0002
-// 0.000043
-0x0001
-// 0.000039
-0x0001
-// 0.000036
-0x0001
-// 0.000033
-0x0001
// 0.000031
0x0001
+// 0.008095
+0x0109
+// 0.016159
+0x0212
+// 0.024223
+0x031A
+// 0.032288
+0x0422
+// 0.040352
+0x052A
+// 0.048416
+0x0632
+// 0.056480
+0x073B
+// 0.064545
+0x0843
+// 0.072609
+0x094B
+// 0.080673
+0x0A54
+// 0.088737
+0x0B5C
+// 0.096802
+0x0C64
+// 0.104866
+0x0D6C
+// 0.112930
+0x0E74
+// 0.120995
+0x0F7D
+// 0.129059
+0x1085
+// 0.137123
+0x118D
+// 0.145187
+0x1296
+// 0.153252
+0x139E
+// 0.161316
+0x14A6
+// 0.169380
+0x15AE
+// 0.177444
+0x16B6
+// 0.185509
+0x17BF
+// 0.193573
+0x18C7
+// 0.201637
+0x19CF
+// 0.209702
+0x1AD8
+// 0.217766
+0x1BE0
+// 0.225830
+0x1CE8
+// 0.233894
+0x1DF0
+// 0.241959
+0x1EF8
+// 0.250023
+0x2001
+// 0.258087
+0x2109
+// 0.266151
+0x2211
+// 0.274216
+0x231A
+// 0.282280
+0x2422
+// 0.290344
+0x252A
+// 0.298409
+0x2632
+// 0.306473
+0x273A
+// 0.314537
+0x2843
+// 0.322601
+0x294B
+// 0.330666
+0x2A53
+// 0.338730
+0x2B5C
+// 0.346794
+0x2C64
+// 0.354858
+0x2D6C
+// 0.362923
+0x2E74
+// 0.370987
+0x2F7C
+// 0.379051
+0x3085
+// 0.387115
+0x318D
+// 0.395180
+0x3295
+// 0.403244
+0x339E
+// 0.411308
+0x34A6
+// 0.419373
+0x35AE
+// 0.427437
+0x36B6
+// 0.435501
+0x37BE
+// 0.443565
+0x38C7
+// 0.451630
+0x39CF
+// 0.459694
+0x3AD7
+// 0.467758
+0x3BE0
+// 0.475822
+0x3CE8
+// 0.483887
+0x3DF0
+// 0.491951
+0x3EF8
+// 0.500015
+0x4000
+// 0.508080
+0x4109
+// 0.516144
+0x4211
+// 0.524208
+0x4319
+// 0.532272
+0x4422
+// 0.540337
+0x452A
+// 0.548401
+0x4632
+// 0.556465
+0x473A
+// 0.564529
+0x4842
+// 0.572594
+0x494B
+// 0.580658
+0x4A53
+// 0.588722
+0x4B5B
+// 0.596786
+0x4C64
+// 0.604851
+0x4D6C
+// 0.612915
+0x4E74
+// 0.620979
+0x4F7C
+// 0.629044
+0x5084
+// 0.637108
+0x518D
+// 0.645172
+0x5295
+// 0.653236
+0x539D
+// 0.661301
+0x54A6
+// 0.669365
+0x55AE
+// 0.677429
+0x56B6
+// 0.685493
+0x57BE
+// 0.693558
+0x58C6
+// 0.701622
+0x59CF
+// 0.709686
+0x5AD7
+// 0.717751
+0x5BDF
+// 0.725815
+0x5CE8
+// 0.733879
+0x5DF0
+// 0.741943
+0x5EF8
+// 0.750008
+0x6000
+// 0.758072
+0x6108
+// 0.766136
+0x6211
+// 0.774200
+0x6319
+// 0.782265
+0x6421
+// 0.790329
+0x652A
+// 0.798393
+0x6632
+// 0.806458
+0x673A
+// 0.814522
+0x6842
+// 0.822586
+0x694A
+// 0.830650
+0x6A53
+// 0.838715
+0x6B5B
+// 0.846779
+0x6C63
+// 0.854843
+0x6D6C
+// 0.862907
+0x6E74
+// 0.870972
+0x6F7C
+// 0.879036
+0x7084
+// 0.887100
+0x718C
+// 0.895164
+0x7295
+// 0.903229
+0x739D
+// 0.911293
+0x74A5
+// 0.919357
+0x75AE
+// 0.927422
+0x76B6
+// 0.935486
+0x77BE
+// 0.943550
+0x78C6
+// 0.951614
+0x79CE
+// 0.959679
+0x7AD7
+// 0.967743
+0x7BDF
+// 0.975807
+0x7CE7
+// 0.983871
+0x7DF0
+// 0.991936
+0x7EF8
+// 1.000000
+0x7FFF
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ31/Log1_q31.txt b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ31/Log1_q31.txt
index 1b95734..5ea4d76 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ31/Log1_q31.txt
+++ b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ31/Log1_q31.txt
@@ -1,252 +1,252 @@
W
125
-// 0.000000
-0x00000000
-// -0.005415
-0xFF4E8DE8
-// -0.010830
-0xFE9D1BD0
-// -0.016246
-0xFDEBA9B8
-// -0.021661
-0xFD3A37A0
-// -0.027076
-0xFC88C588
-// -0.032491
-0xFBD75370
-// -0.037906
-0xFB25E158
-// -0.043322
-0xFA746F40
-// -0.048737
-0xF9C2FD28
-// -0.054152
-0xF9118B10
-// -0.059567
-0xF86018F8
-// -0.064983
-0xF7AEA6E0
-// -0.070398
-0xF6FD34C8
-// -0.075813
-0xF64BC2B0
-// -0.081228
-0xF59A5098
-// -0.086643
-0xF4E8DE81
-// -0.092059
-0xF4376C69
-// -0.097474
-0xF385FA51
-// -0.102889
-0xF2D48839
-// -0.108304
-0xF2231621
-// -0.113719
-0xF171A409
-// -0.119135
-0xF0C031F1
-// -0.124550
-0xF00EBFD9
-// -0.129965
-0xEF5D4DC1
-// -0.135380
-0xEEABDBA9
-// -0.140796
-0xEDFA6991
-// -0.146211
-0xED48F779
-// -0.151626
-0xEC978561
-// -0.157041
-0xEBE61349
-// -0.162456
-0xEB34A131
-// -0.167872
-0xEA832F19
-// -0.173287
-0xE9D1BD01
-// -0.178702
-0xE9204AE9
-// -0.184117
-0xE86ED8D1
-// -0.189532
-0xE7BD66B9
-// -0.194948
-0xE70BF4A1
-// -0.200363
-0xE65A8289
-// -0.205778
-0xE5A91071
-// -0.211193
-0xE4F79E59
-// -0.216608
-0xE4462C41
-// -0.222024
-0xE394BA29
-// -0.227439
-0xE2E34811
-// -0.232854
-0xE231D5F9
-// -0.238269
-0xE18063E1
-// -0.243685
-0xE0CEF1C9
-// -0.249100
-0xE01D7FB1
-// -0.254515
-0xDF6C0D9A
-// -0.259930
-0xDEBA9B82
-// -0.265345
-0xDE09296A
-// -0.270761
-0xDD57B752
-// -0.276176
-0xDCA6453A
-// -0.281591
-0xDBF4D322
-// -0.287006
-0xDB43610A
-// -0.292421
-0xDA91EEF2
-// -0.297837
-0xD9E07CDA
-// -0.303252
-0xD92F0AC2
-// -0.308667
-0xD87D98AA
-// -0.314082
-0xD7CC2692
-// -0.319498
-0xD71AB47A
-// -0.324913
-0xD6694262
-// -0.330328
-0xD5B7D04A
-// -0.335743
-0xD5065E32
-// -0.341158
-0xD454EC1A
-// -0.346574
-0xD3A37A02
-// -0.351989
-0xD2F207EA
-// -0.357404
-0xD24095D2
-// -0.362819
-0xD18F23BA
-// -0.368234
-0xD0DDB1A2
-// -0.373650
-0xD02C3F8A
-// -0.379065
-0xCF7ACD72
-// -0.384480
-0xCEC95B5A
-// -0.389895
-0xCE17E942
-// -0.395311
-0xCD66772A
-// -0.400726
-0xCCB50512
-// -0.406141
-0xCC0392FA
-// -0.411556
-0xCB5220E2
-// -0.416971
-0xCAA0AECA
-// -0.422387
-0xC9EF3CB2
-// -0.427802
-0xC93DCA9B
-// -0.433217
-0xC88C5883
-// -0.438632
-0xC7DAE66B
-// -0.444047
-0xC7297453
-// -0.449463
-0xC678023B
-// -0.454878
-0xC5C69023
-// -0.460293
-0xC5151E0B
-// -0.465708
-0xC463ABF3
-// -0.471123
-0xC3B239DB
-// -0.476539
-0xC300C7C3
-// -0.481954
-0xC24F55AB
-// -0.487369
-0xC19DE393
-// -0.492784
-0xC0EC717B
-// -0.498200
-0xC03AFF63
-// -0.503615
-0xBF898D4B
-// -0.509030
-0xBED81B33
-// -0.514445
-0xBE26A91B
-// -0.519860
-0xBD753703
-// -0.525276
-0xBCC3C4EB
-// -0.530691
-0xBC1252D3
-// -0.536106
-0xBB60E0BB
-// -0.541521
-0xBAAF6EA3
-// -0.546936
-0xB9FDFC8B
-// -0.552352
-0xB94C8A73
-// -0.557767
-0xB89B185B
-// -0.563182
-0xB7E9A643
-// -0.568597
-0xB738342B
-// -0.574013
-0xB686C213
-// -0.579428
-0xB5D54FFB
-// -0.584843
-0xB523DDE3
-// -0.590258
-0xB4726BCB
-// -0.595673
-0xB3C0F9B4
-// -0.601089
-0xB30F879C
-// -0.606504
-0xB25E1584
-// -0.611919
-0xB1ACA36C
-// -0.617334
-0xB0FB3154
-// -0.622749
-0xB049BF3C
-// -0.628165
-0xAF984D24
-// -0.633580
-0xAEE6DB0C
-// -0.638995
-0xAE3568F4
-// -0.644410
-0xAD83F6DC
-// -0.649825
-0xACD284C4
-// -0.655241
-0xAC2112AC
-// -0.660656
-0xAB6FA094
-// -0.666071
-0xAABE2E7C
// -0.671486
0xAA0CBC64
+// -0.150634
+0xECB80820
+// -0.128973
+0xEF7DD07E
+// -0.116302
+0xF11D02BC
+// -0.107312
+0xF24398DD
+// -0.100339
+0xF328189B
+// -0.094641
+0xF3E2CB1B
+// -0.089824
+0xF480A4C8
+// -0.085651
+0xF509613C
+// -0.081971
+0xF581FD5A
+// -0.078678
+0xF5EDE0FA
+// -0.075700
+0xF64F79F8
+// -0.072980
+0xF6A8937B
+// -0.070479
+0xF6FA8A32
+// -0.068163
+0xF7466D28
+// -0.066007
+0xF78D1339
+// -0.063990
+0xF7CF299C
+// -0.062096
+0xF80D3DFD
+// -0.060310
+0xF847C5B9
+// -0.058620
+0xF87F231F
+// -0.057017
+0xF8B3A95A
+// -0.055492
+0xF8E59F66
+// -0.054039
+0xF9154258
+// -0.052650
+0xF942C71B
+// -0.051320
+0xF96E5BDA
+// -0.050044
+0xF9982918
+// -0.048818
+0xF9C05292
+// -0.047639
+0xF9E6F7F8
+// -0.046502
+0xFA0C3587
+// -0.045406
+0xFA302482
+// -0.044346
+0xFA52DB99
+// -0.043322
+0xFA746F40
+// -0.042330
+0xFA94F1FB
+// -0.041368
+0xFAB47496
+// -0.040435
+0xFAD3065D
+// -0.039529
+0xFAF0B546
+// -0.038649
+0xFB0D8E19
+// -0.037793
+0xFB299C93
+// -0.036959
+0xFB44EB7F
+// -0.036147
+0xFB5F84D0
+// -0.035356
+0xFB7971BA
+// -0.034585
+0xFB92BABF
+// -0.033832
+0xFBAB67C6
+// -0.033096
+0xFBC38027
+// -0.032378
+0xFBDB0AB8
+// -0.031676
+0xFBF20DD7
+// -0.030989
+0xFC088F7B
+// -0.030317
+0xFC1E9534
+// -0.029659
+0xFC34243A
+// -0.029014
+0xFC494173
+// -0.028383
+0xFC5DF178
+// -0.027764
+0xFC72389C
+// -0.027157
+0xFC861AF1
+// -0.026562
+0xFC999C50
+// -0.025978
+0xFCACC058
+// -0.025405
+0xFCBF8A76
+// -0.024842
+0xFCD1FDE7
+// -0.024288
+0xFCE41DBE
+// -0.023745
+0xFCF5ECE2
+// -0.023211
+0xFD076E16
+// -0.022686
+0xFD18A3F8
+// -0.022169
+0xFD299107
+// -0.021661
+0xFD3A37A0
+// -0.021161
+0xFD4A9A05
+// -0.020669
+0xFD5ABA5B
+// -0.020184
+0xFD6A9AB0
+// -0.019707
+0xFD7A3CF6
+// -0.019237
+0xFD89A30D
+// -0.018774
+0xFD98CEBD
+// -0.018318
+0xFDA7C1BA
+// -0.017868
+0xFDB67DA5
+// -0.017425
+0xFDC50410
+// -0.016988
+0xFDD35679
+// -0.016557
+0xFDE1764F
+// -0.016132
+0xFDEF64F3
+// -0.015712
+0xFDFD23B7
+// -0.015298
+0xFE0AB3DF
+// -0.014890
+0xFE1816A3
+// -0.014487
+0xFE254D30
+// -0.014089
+0xFE3258A6
+// -0.013695
+0xFE3F3A19
+// -0.013307
+0xFE4BF297
+// -0.012924
+0xFE58831F
+// -0.012545
+0xFE64ECA9
+// -0.012171
+0xFE713026
+// -0.011801
+0xFE7D4E7B
+// -0.011435
+0xFE894887
+// -0.011074
+0xFE951F21
+// -0.010717
+0xFEA0D317
+// -0.010364
+0xFEAC6534
+// -0.010015
+0xFEB7D637
+// -0.009669
+0xFEC326DD
+// -0.009328
+0xFECE57DB
+// -0.008990
+0xFED969DF
+// -0.008656
+0xFEE45D94
+// -0.008325
+0xFEEF339D
+// -0.007998
+0xFEF9EC9A
+// -0.007674
+0xFF048925
+// -0.007354
+0xFF0F09D3
+// -0.007036
+0xFF196F35
+// -0.006722
+0xFF23B9D8
+// -0.006411
+0xFF2DEA43
+// -0.006103
+0xFF3800FC
+// -0.005799
+0xFF41FE81
+// -0.005497
+0xFF4BE351
+// -0.005198
+0xFF55AFE4
+// -0.004901
+0xFF5F64B0
+// -0.004608
+0xFF690227
+// -0.004317
+0xFF7288B8
+// -0.004029
+0xFF7BF8CF
+// -0.003744
+0xFF8552D6
+// -0.003461
+0xFF8E9732
+// -0.003181
+0xFF97C647
+// -0.002903
+0xFFA0E076
+// -0.002628
+0xFFA9E61E
+// -0.002355
+0xFFB2D799
+// -0.002084
+0xFFBBB542
+// -0.001816
+0xFFC47F6F
+// -0.001550
+0xFFCD3676
+// -0.001286
+0xFFD5DAA9
+// -0.001025
+0xFFDE6C58
+// -0.000765
+0xFFE6EBD3
+// -0.000508
+0xFFEF5967
+// -0.000253
+0xFFF7B55D
+// 0.000000
+0x00000000
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ31/LogInput1_q31.txt b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ31/LogInput1_q31.txt
index f649b76..c5eac81 100755
--- a/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ31/LogInput1_q31.txt
+++ b/CMSIS/DSP/Testing/Patterns/DSP/FastMath/FastMathQ31/LogInput1_q31.txt
@@ -1,252 +1,252 @@
W
125
-// 1.000000
-0x7FFFFFFF
-// 0.840896
-0x6BA27E65
-// 0.707107
-0x5A82799A
-// 0.594604
-0x4C1BF829
+// 0.000000
+0x00000001
+// 0.008065
+0x01084212
+// 0.016129
+0x02108422
+// 0.024194
+0x0318C633
+// 0.032258
+0x04210843
+// 0.040323
+0x05294A54
+// 0.048387
+0x06318C64
+// 0.056452
+0x0739CE75
+// 0.064516
+0x08421085
+// 0.072581
+0x094A5296
+// 0.080645
+0x0A5294A6
+// 0.088710
+0x0B5AD6B7
+// 0.096774
+0x0C6318C7
+// 0.104839
+0x0D6B5AD8
+// 0.112903
+0x0E739CE8
+// 0.120968
+0x0F7BDEF9
+// 0.129032
+0x10842109
+// 0.137097
+0x118C631A
+// 0.145161
+0x1294A52A
+// 0.153226
+0x139CE73B
+// 0.161290
+0x14A5294B
+// 0.169355
+0x15AD6B5C
+// 0.177419
+0x16B5AD6C
+// 0.185484
+0x17BDEF7D
+// 0.193548
+0x18C6318D
+// 0.201613
+0x19CE739E
+// 0.209677
+0x1AD6B5AE
+// 0.217742
+0x1BDEF7BF
+// 0.225806
+0x1CE739CF
+// 0.233871
+0x1DEF7BE0
+// 0.241935
+0x1EF7BDF0
+// 0.250000
+0x20000001
+// 0.258065
+0x21084211
+// 0.266129
+0x22108422
+// 0.274194
+0x2318C632
+// 0.282258
+0x24210843
+// 0.290323
+0x25294A53
+// 0.298387
+0x26318C64
+// 0.306452
+0x2739CE74
+// 0.314516
+0x28421085
+// 0.322581
+0x294A5295
+// 0.330645
+0x2A5294A6
+// 0.338710
+0x2B5AD6B6
+// 0.346774
+0x2C6318C7
+// 0.354839
+0x2D6B5AD7
+// 0.362903
+0x2E739CE8
+// 0.370968
+0x2F7BDEF8
+// 0.379032
+0x30842109
+// 0.387097
+0x318C6319
+// 0.395161
+0x3294A52A
+// 0.403226
+0x339CE73A
+// 0.411290
+0x34A5294B
+// 0.419355
+0x35AD6B5B
+// 0.427419
+0x36B5AD6C
+// 0.435484
+0x37BDEF7C
+// 0.443548
+0x38C6318D
+// 0.451613
+0x39CE739D
+// 0.459677
+0x3AD6B5AE
+// 0.467742
+0x3BDEF7BE
+// 0.475806
+0x3CE739CF
+// 0.483871
+0x3DEF7BDF
+// 0.491935
+0x3EF7BDF0
// 0.500000
0x40000000
-// 0.420448
-0x35D13F33
-// 0.353553
-0x2D413CCD
-// 0.297302
-0x260DFC14
-// 0.250000
-0x20000000
-// 0.210224
-0x1AE89F99
-// 0.176777
-0x16A09E66
-// 0.148651
-0x1306FE0A
-// 0.125000
-0x10000000
-// 0.105112
-0x0D744FCD
-// 0.088388
-0x0B504F33
-// 0.074325
-0x09837F05
-// 0.062500
-0x08000000
-// 0.052556
-0x06BA27E6
-// 0.044194
-0x05A8279A
-// 0.037163
-0x04C1BF83
-// 0.031250
-0x04000000
-// 0.026278
-0x035D13F3
-// 0.022097
-0x02D413CD
-// 0.018581
-0x0260DFC1
-// 0.015625
-0x02000000
-// 0.013139
-0x01AE89FA
-// 0.011049
-0x016A09E6
-// 0.009291
-0x01306FE1
-// 0.007812
-0x01000000
-// 0.006570
-0x00D744FD
-// 0.005524
-0x00B504F3
-// 0.004645
-0x009837F0
-// 0.003906
-0x00800000
-// 0.003285
-0x006BA27E
-// 0.002762
-0x005A827A
-// 0.002323
-0x004C1BF8
-// 0.001953
-0x00400000
-// 0.001642
-0x0035D13F
-// 0.001381
-0x002D413D
-// 0.001161
-0x00260DFC
-// 0.000977
-0x00200000
-// 0.000821
-0x001AE8A0
-// 0.000691
-0x0016A09E
-// 0.000581
-0x001306FE
-// 0.000488
-0x00100000
-// 0.000411
-0x000D7450
-// 0.000345
-0x000B504F
-// 0.000290
-0x0009837F
-// 0.000244
-0x00080000
-// 0.000205
-0x0006BA28
-// 0.000173
-0x0005A828
-// 0.000145
-0x0004C1C0
-// 0.000122
-0x00040000
-// 0.000103
-0x00035D14
-// 0.000086
-0x0002D414
-// 0.000073
-0x000260E0
-// 0.000061
-0x00020000
-// 0.000051
-0x0001AE8A
-// 0.000043
-0x00016A0A
-// 0.000036
-0x00013070
-// 0.000031
-0x00010000
-// 0.000026
-0x0000D745
-// 0.000022
-0x0000B505
-// 0.000018
-0x00009838
-// 0.000015
-0x00008000
-// 0.000013
-0x00006BA2
-// 0.000011
-0x00005A82
-// 0.000009
-0x00004C1C
-// 0.000008
-0x00004000
-// 0.000006
-0x000035D1
-// 0.000005
-0x00002D41
-// 0.000005
-0x0000260E
-// 0.000004
-0x00002000
-// 0.000003
-0x00001AE9
-// 0.000003
-0x000016A1
-// 0.000002
-0x00001307
-// 0.000002
-0x00001000
-// 0.000002
-0x00000D74
-// 0.000001
-0x00000B50
-// 0.000001
-0x00000983
-// 0.000001
-0x00000800
-// 0.000001
-0x000006BA
-// 0.000001
-0x000005A8
-// 0.000001
-0x000004C2
-// 0.000000
-0x00000400
-// 0.000000
-0x0000035D
-// 0.000000
-0x000002D4
-// 0.000000
-0x00000261
-// 0.000000
-0x00000200
-// 0.000000
-0x000001AF
-// 0.000000
-0x0000016A
-// 0.000000
-0x00000130
-// 0.000000
-0x00000100
-// 0.000000
-0x000000D7
-// 0.000000
-0x000000B5
-// 0.000000
-0x00000098
-// 0.000000
-0x00000080
-// 0.000000
-0x0000006C
-// 0.000000
-0x0000005B
-// 0.000000
-0x0000004C
-// 0.000000
-0x00000040
-// 0.000000
-0x00000036
-// 0.000000
-0x0000002D
-// 0.000000
-0x00000026
-// 0.000000
-0x00000020
-// 0.000000
-0x0000001B
-// 0.000000
-0x00000017
-// 0.000000
-0x00000013
-// 0.000000
-0x00000010
-// 0.000000
-0x0000000D
-// 0.000000
-0x0000000B
-// 0.000000
-0x0000000A
-// 0.000000
-0x00000008
-// 0.000000
-0x00000007
-// 0.000000
-0x00000006
-// 0.000000
-0x00000005
-// 0.000000
-0x00000004
-// 0.000000
-0x00000003
-// 0.000000
-0x00000003
-// 0.000000
-0x00000002
-// 0.000000
-0x00000002
-// 0.000000
-0x00000002
-// 0.000000
-0x00000001
-// 0.000000
-0x00000001
-// 0.000000
-0x00000001
+// 0.508065
+0x41084211
+// 0.516129
+0x42108422
+// 0.524194
+0x4318C632
+// 0.532258
+0x44210843
+// 0.540323
+0x45294A53
+// 0.548387
+0x46318C64
+// 0.556452
+0x4739CE74
+// 0.564516
+0x48421085
+// 0.572581
+0x494A5295
+// 0.580645
+0x4A5294A6
+// 0.588710
+0x4B5AD6B6
+// 0.596774
+0x4C6318C7
+// 0.604839
+0x4D6B5AD7
+// 0.612903
+0x4E739CE8
+// 0.620968
+0x4F7BDEF8
+// 0.629032
+0x50842109
+// 0.637097
+0x518C6319
+// 0.645161
+0x5294A52A
+// 0.653226
+0x539CE73A
+// 0.661290
+0x54A5294B
+// 0.669355
+0x55AD6B5B
+// 0.677419
+0x56B5AD6C
+// 0.685484
+0x57BDEF7C
+// 0.693548
+0x58C6318D
+// 0.701613
+0x59CE739D
+// 0.709677
+0x5AD6B5AE
+// 0.717742
+0x5BDEF7BE
+// 0.725806
+0x5CE739CF
+// 0.733871
+0x5DEF7BDF
+// 0.741935
+0x5EF7BDF0
+// 0.750000
+0x60000000
+// 0.758065
+0x61084211
+// 0.766129
+0x62108421
+// 0.774194
+0x6318C632
+// 0.782258
+0x64210842
+// 0.790323
+0x65294A53
+// 0.798387
+0x66318C63
+// 0.806452
+0x6739CE74
+// 0.814516
+0x68421084
+// 0.822581
+0x694A5295
+// 0.830645
+0x6A5294A5
+// 0.838710
+0x6B5AD6B6
+// 0.846774
+0x6C6318C6
+// 0.854839
+0x6D6B5AD7
+// 0.862903
+0x6E739CE7
+// 0.870968
+0x6F7BDEF8
+// 0.879032
+0x70842108
+// 0.887097
+0x718C6319
+// 0.895161
+0x7294A529
+// 0.903226
+0x739CE73A
+// 0.911290
+0x74A5294A
+// 0.919355
+0x75AD6B5B
+// 0.927419
+0x76B5AD6B
+// 0.935484
+0x77BDEF7C
+// 0.943548
+0x78C6318C
+// 0.951613
+0x79CE739D
+// 0.959677
+0x7AD6B5AD
+// 0.967742
+0x7BDEF7BE
+// 0.975806
+0x7CE739CE
+// 0.983871
+0x7DEF7BDF
+// 0.991935
+0x7EF7BDEF
+// 1.000000
+0x7FFFFFFF
diff --git a/CMSIS/DSP/Testing/Source/Tests/FastMathQ15.cpp b/CMSIS/DSP/Testing/Source/Tests/FastMathQ15.cpp
index 0bbdeb3..1dac2da 100755
--- a/CMSIS/DSP/Testing/Source/Tests/FastMathQ15.cpp
+++ b/CMSIS/DSP/Testing/Source/Tests/FastMathQ15.cpp
@@ -5,7 +5,7 @@
-#define SNR_THRESHOLD 70
+#define SNR_THRESHOLD 69
/*
Reference patterns are generated with
@@ -14,20 +14,17 @@
*/
#define ABS_ERROR ((q15_t)10)
-#define LOG_ABS_ERROR ((q15_t)1000)
+#define LOG_ABS_ERROR ((q15_t)3)
+
void FastMathQ15::test_vlog_q15()
{
const q15_t *inp = input.ptr();
q15_t *outp = output.ptr();
- //printf("Nb samples = %lu\n",ref.nbSamples());
arm_vlog_q15(inp,outp,ref.nbSamples());
- //arm_vlog_q15(inp,outp,1);
- //printf("in = %08X\n",inp[124]);
- //printf("out = %08X\n",outp[124]);
-
- //ASSERT_SNR(ref,output,(float32_t)SNR_THRESHOLD);
+
+ ASSERT_SNR(ref,output,(float32_t)SNR_THRESHOLD);
ASSERT_NEAR_EQ(ref,output,LOG_ABS_ERROR);
ASSERT_EMPTY_TAIL(output);
diff --git a/CMSIS/DSP/Testing/Source/Tests/FastMathQ31.cpp b/CMSIS/DSP/Testing/Source/Tests/FastMathQ31.cpp
index 87afe6c..a196765 100755
--- a/CMSIS/DSP/Testing/Source/Tests/FastMathQ31.cpp
+++ b/CMSIS/DSP/Testing/Source/Tests/FastMathQ31.cpp
@@ -13,32 +13,19 @@
*/
#define ABS_ERROR ((q31_t)2200)
-/*
-The error bounds is 0.014 and it is big
-but the test is really extreme with input values as small
-as 2^-31 !
+#define LOG_ABS_ERROR ((q31_t)2)
-The error is clearly diverging for the very small values.
-
-So, we have an error converging to 0.014 for outputs around -21.
-
-
-*/
-#define LOG_ABS_ERROR ((q31_t)30000000)
void FastMathQ31::test_vlog_q31()
{
const q31_t *inp = input.ptr();
q31_t *outp = output.ptr();
- //printf("Nb samples = %lu\n",ref.nbSamples());
arm_vlog_q31(inp,outp,ref.nbSamples());
- //arm_vlog_q31(inp+124,outp+124,1);
- //printf("in = %08X\n",inp[124]);
- //printf("out = %08X\n",outp[124]);
-
- //ASSERT_SNR(ref,output,(float32_t)SNR_THRESHOLD);
+
+
+ ASSERT_SNR(ref,output,(float32_t)SNR_THRESHOLD);
ASSERT_NEAR_EQ(ref,output,LOG_ABS_ERROR);
ASSERT_EMPTY_TAIL(output);