You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2022/01/28 06:22:17 UTC

[GitHub] [incubator-nuttx-apps] jerpelea opened a new pull request #987: Add support for CMSIS Neural Network

jerpelea opened a new pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987


   the CMSIS NN software library is a collection of efficient neural
   network kernels developed to maximize the performance and minimize
   the memory footprint of neural networks on Cortex-M processor cores.
   
   Project https://github.com/ARM-software/CMSIS_5
   
   The library is divided into a number of functions each covering
   a specific category:
   
       Convolution Functions
       Activation Functions
       Fully-connected Layer Functions
       SVDF Layer Functions
       Pooling Functions
       Softmax Functions
       Basic math Functions
   
   The library has separate functions for operating on different weight
   and activation data types including 8-bit integers (q7_t) and 16-bit
   integers (q15_t). The descrition of the kernels are included in the
   function description.
   
   More information
   https://www.keil.com/pack/doc/CMSIS/NN/html/index.html
   
   Project license : Apache 2.0 License
   https://github.com/ARM-software/CMSIS_5/blob/develop/LICENSE.txt
   
   Signed-off-by: Alin Jerpelea <al...@sony.com>
   
   ## Summary
   
   ## Impact
   
   ## Testing
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 merged pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 merged pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794475611



##########
File path: mlearning/libcmsisdsp/Kconfig
##########
@@ -0,0 +1,43 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+config CMSIS

Review comment:
       CMSIS contain both DSP and NN, it doesn't make sense to download CMSIS package to mlearning/libcmsisdsp, and reference it from mlearning/libcmsisnn. How about:
   ```
   mlearning/cmsis/
   CMSIS_5
   libcmsisdsp
     Kconfig
     Make.defs
     Makefile
   libcmsisnn
     Kconfig
     Make.defs
     Makefile
   Kconfig
   Make.def
   Makefile
   ```
   The code downloading package put into the top Makefile




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794695440



##########
File path: mlearning/cmsis/libcmsisdsp/Make.defs
##########
@@ -0,0 +1,33 @@
+############################################################################
+# apps/mlearning/cmsis/libcmsisdsp/Make.defs
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+ifeq ($(CONFIG_CMSIS_DSP),y)
+CONFIGURED_APPS += $(APPDIR)/mlearning/cmsis/libcmsisdsp
+
+CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/Core/Include/}
+CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/DSP/Include/}
+CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/DSP/PrivateInclude/}
+CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/NN/Include/}

Review comment:
       move to libcmsisnn/Make.defs

##########
File path: mlearning/cmsis/libcmsisdsp/Make.defs
##########
@@ -0,0 +1,33 @@
+############################################################################
+# apps/mlearning/cmsis/libcmsisdsp/Make.defs
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+ifeq ($(CONFIG_CMSIS_DSP),y)

Review comment:
       ifneq ($(CONFIG_CMSIS_DSP),)

##########
File path: mlearning/cmsis/Makefile
##########
@@ -0,0 +1,34 @@
+############################################################################
+# apps/mlearning/libcmsisdsp/Makefile

Review comment:
       libcmsisdsp->cmsis

##########
File path: mlearning/cmsis/libcmsisnn/Make.defs
##########
@@ -0,0 +1,23 @@
+############################################################################
+# apps/mlearning/cmsis/libcmsisnn/Make.defs
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+ifeq ($(CONFIG_CMSIS_NN),y)

Review comment:
       ifeq ($(CONFIG_CMSIS_NN),)

##########
File path: mlearning/cmsis/Make.defs
##########
@@ -0,0 +1,23 @@
+############################################################################
+# apps/mlearning/cmsis/Make.defs
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(wildcard $(APPDIR)/mlearning/cmsis/*/Make.defs)

Review comment:
       ifneq ($(CONFIG_CMSIS),)
   CONFIGURED_APPS += $(APPDIR)/mlearning/cmsis
   
   include $(wildcard $(APPDIR)/mlearning/cmsis/*/Make.defs)
   endif

##########
File path: mlearning/cmsis/libcmsisnn/Makefile
##########
@@ -0,0 +1,101 @@
+############################################################################
+# apps/mlearning/cmsis/libcmsisnn/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+CFLAGS += -Wno-undef

Review comment:
       should we define the macro to the known value

##########
File path: mlearning/cmsis/libcmsisnn/Makefile
##########
@@ -0,0 +1,101 @@
+############################################################################
+# apps/mlearning/cmsis/libcmsisnn/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+CFLAGS += -Wno-undef
+
+CMSIS5_NN := ../CMSIS_5/CMSIS/NN/Source
+
+CSRCS += $(CMSIS5_NN)/ActivationFunctions/arm_nn_activations_q15.c
+CSRCS += $(CMSIS5_NN)/ActivationFunctions/arm_relu6_s8.c
+CSRCS += $(CMSIS5_NN)/ActivationFunctions/arm_relu_q15.c
+CSRCS += $(CMSIS5_NN)/ActivationFunctions/arm_nn_activations_q7.c
+CSRCS += $(CMSIS5_NN)/ActivationFunctions/arm_relu_q7.c
+CSRCS += $(CMSIS5_NN)/SVDFunctions/arm_svdf_s8.c
+CSRCS += $(CMSIS5_NN)/SoftmaxFunctions/arm_softmax_u8.c
+CSRCS += $(CMSIS5_NN)/SoftmaxFunctions/arm_softmax_q15.c
+CSRCS += $(CMSIS5_NN)/SoftmaxFunctions/arm_softmax_q7.c
+CSRCS += $(CMSIS5_NN)/SoftmaxFunctions/arm_softmax_s8.c
+CSRCS += $(CMSIS5_NN)/SoftmaxFunctions/arm_softmax_with_batch_q7.c
+CSRCS += $(CMSIS5_NN)/FullyConnectedFunctions/arm_fully_connected_s8.c
+CSRCS += $(CMSIS5_NN)/FullyConnectedFunctions/arm_fully_connected_q15_opt.c
+CSRCS += $(CMSIS5_NN)/FullyConnectedFunctions/arm_fully_connected_q7_opt.c
+CSRCS += $(CMSIS5_NN)/FullyConnectedFunctions/arm_fully_connected_mat_q7_vec_q15_opt.c
+CSRCS += $(CMSIS5_NN)/FullyConnectedFunctions/arm_fully_connected_mat_q7_vec_q15.c
+CSRCS += $(CMSIS5_NN)/FullyConnectedFunctions/arm_fully_connected_q7.c
+CSRCS += $(CMSIS5_NN)/FullyConnectedFunctions/arm_fully_connected_q15.c
+CSRCS += $(CMSIS5_NN)/ConcatenationFunctions/arm_concatenation_s8_y.c
+CSRCS += $(CMSIS5_NN)/ConcatenationFunctions/arm_concatenation_s8_w.c
+CSRCS += $(CMSIS5_NN)/ConcatenationFunctions/arm_concatenation_s8_x.c
+CSRCS += $(CMSIS5_NN)/ConcatenationFunctions/arm_concatenation_s8_z.c
+CSRCS += $(CMSIS5_NN)/PoolingFunctions/arm_avgpool_s8.c
+CSRCS += $(CMSIS5_NN)/PoolingFunctions/arm_pool_q7_HWC.c
+CSRCS += $(CMSIS5_NN)/PoolingFunctions/arm_max_pool_s8.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_convolve_HWC_q15_fast.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_convolve_wrapper_s8.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_depthwise_conv_wrapper_s8.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_nn_mat_mult_kernel_q7_q15.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_convolve_HWC_q15_fast_nonsquare.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_depthwise_conv_s8_opt.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_convolve_s8.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_convolve_HWC_q15_basic.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_nn_mat_mult_kernel_q7_q15_reordered.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_nn_mat_mult_kernel_s8_s16.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_convolve_HWC_q7_RGB.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_depthwise_conv_3x3_s8.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_depthwise_conv_u8_basic_ver1.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_depthwise_separable_conv_HWC_q7.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_convolve_HWC_q7_fast.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_convolve_1_x_n_s8.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_convolve_1x1_s8_fast.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_convolve_HWC_q7_basic.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_nn_depthwise_conv_s8_core.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_depthwise_separable_conv_HWC_q7_nonsquare.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_nn_mat_mult_s8.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_convolve_HWC_q7_fast_nonsquare.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_depthwise_conv_s8.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_convolve_1x1_HWC_q7_fast_nonsquare.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_convolve_HWC_q7_basic_nonsquare.c
+CSRCS += $(CMSIS5_NN)/ConvolutionFunctions/arm_nn_mat_mult_kernel_s8_s16_reordered.c
+CSRCS += $(CMSIS5_NN)/BasicMathFunctions/arm_elementwise_mul_s8.c
+CSRCS += $(CMSIS5_NN)/BasicMathFunctions/arm_elementwise_add_s8.c
+CSRCS += $(CMSIS5_NN)/ReshapeFunctions/arm_reshape_s8.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_nntables.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_q7_to_q15_with_offset.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_q7_to_q15_reordered_no_shift.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_nn_vec_mat_mult_t_svdf_s8.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_nn_vec_mat_mult_t_s8.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_q7_to_q15_no_shift.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_nn_mult_q15.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_nn_depthwise_conv_nt_t_padded_s8.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_nn_mult_q7.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_nn_mat_mul_core_4x_s8.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_nn_mat_mult_nt_t_s8.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_nn_accumulate_q7_to_q15.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_nn_depthwise_conv_nt_t_s8.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_nn_mat_mul_core_1x_s8.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_nn_add_q7.c
+CSRCS += $(CMSIS5_NN)/NNSupportFunctions/arm_q7_to_q15_reordered_with_offset.c
+
+BIN := libcmsis_nn$(LIBEXT)
+VPATH += libcmsisnn

Review comment:
       don't need VPATH

##########
File path: mlearning/cmsis/libcmsisdsp/Makefile
##########
@@ -0,0 +1,556 @@
+############################################################################
+# apps/mlearning/cmsis/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_MATRIX_CHECK),y)
+CFLAGS += -DARM_MATH_MATRIX_CHECK
+endif
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_ROUNDING),y)
+CFLAGS += -DARM_MATH_ROUNDING
+endif
+
+CMSIS5_DSP := ../CMSIS_5/CMSIS/DSP/Source
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctions.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctions.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vinverse_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_divide_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctions.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/ControllerFunctions.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctions.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bubble_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_insertion_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bitonic_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_selection_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_heap_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_quick_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q7.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTablesF16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_dice_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_boolean_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_russellrao_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalmichener_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalsneath_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_rogerstanimoto_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_hamming_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_kulsinski_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_yule_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jaccard_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctions.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/QuaternionMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_rotation2quaternion_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_normalize_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_single_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_conjugate_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion2rotation_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal2.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctions.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q15.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f32.c
+
+CFLAGS += -fno-strict-aliasing -ffunction-sections -fdata-sections
+CFLAGS += -ffast-math -Wno-undef -Wno-shadow -Wno-undef
+
+BIN := libarm_math$(LIBEXT)
+VPATH += :libcmsisdsp

Review comment:
       no needed VPATH

##########
File path: mlearning/cmsis/libcmsisdsp/Make.defs
##########
@@ -0,0 +1,33 @@
+############################################################################
+# apps/mlearning/cmsis/libcmsisdsp/Make.defs
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+ifeq ($(CONFIG_CMSIS_DSP),y)
+CONFIGURED_APPS += $(APPDIR)/mlearning/cmsis/libcmsisdsp
+
+CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/Core/Include/}
+CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/DSP/Include/}
+CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/DSP/PrivateInclude/}
+CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/NN/Include/}
+CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/Core/Include/}
+CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/DSP/Include/}
+CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/DSP/PrivateInclude/}
+CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/NN/Include/}

Review comment:
       move to libcmsisnn/Make.defs

##########
File path: mlearning/cmsis/libcmsisdsp/Makefile
##########
@@ -0,0 +1,556 @@
+############################################################################
+# apps/mlearning/cmsis/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_MATRIX_CHECK),y)
+CFLAGS += -DARM_MATH_MATRIX_CHECK
+endif
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_ROUNDING),y)
+CFLAGS += -DARM_MATH_ROUNDING
+endif
+
+CMSIS5_DSP := ../CMSIS_5/CMSIS/DSP/Source
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctions.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctions.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vinverse_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_divide_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctions.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/ControllerFunctions.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctions.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bubble_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_insertion_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bitonic_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_selection_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_heap_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_quick_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q7.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTablesF16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_dice_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_boolean_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_russellrao_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalmichener_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalsneath_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_rogerstanimoto_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_hamming_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_kulsinski_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_yule_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jaccard_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctions.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/QuaternionMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_rotation2quaternion_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_normalize_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_single_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_conjugate_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion2rotation_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal2.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctions.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q15.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f32.c
+
+CFLAGS += -fno-strict-aliasing -ffunction-sections -fdata-sections

Review comment:
       remove, set in board's Make.defs

##########
File path: mlearning/cmsis/libcmsisdsp/Makefile
##########
@@ -0,0 +1,556 @@
+############################################################################
+# apps/mlearning/cmsis/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_MATRIX_CHECK),y)
+CFLAGS += -DARM_MATH_MATRIX_CHECK
+endif
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_ROUNDING),y)
+CFLAGS += -DARM_MATH_ROUNDING
+endif
+
+CMSIS5_DSP := ../CMSIS_5/CMSIS/DSP/Source
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctions.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctions.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vinverse_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_divide_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctions.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/ControllerFunctions.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctions.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bubble_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_insertion_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bitonic_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_selection_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_heap_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_quick_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q7.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTablesF16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_dice_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_boolean_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_russellrao_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalmichener_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalsneath_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_rogerstanimoto_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_hamming_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_kulsinski_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_yule_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jaccard_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctions.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/QuaternionMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_rotation2quaternion_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_normalize_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_single_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_conjugate_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion2rotation_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal2.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctions.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q15.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f32.c
+
+CFLAGS += -fno-strict-aliasing -ffunction-sections -fdata-sections
+CFLAGS += -ffast-math -Wno-undef -Wno-shadow -Wno-undef

Review comment:
       remove the last dup -Wno-undef, and should we define the macro to the known value and then remove -Wno-undef?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] jerpelea commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
jerpelea commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794463946



##########
File path: mlearning/libcmsisdsp/Kconfig
##########
@@ -0,0 +1,43 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+config CMSIS

Review comment:
       I preffer them splitted




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] jerpelea commented on pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
jerpelea commented on pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#issuecomment-1026594991


   @xiaoxiang781216 done


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] jerpelea commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
jerpelea commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794474884



##########
File path: mlearning/libcmsisdsp/Makefile
##########
@@ -0,0 +1,570 @@
+############################################################################
+# apps/mlearning/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_CMSIS_DSP),y)
+INCLUDES += $(TOPDIR)/include/cmsis
+
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_MATRIX_CHECK),y)
+CFLAGS += -DARM_MATH_MATRIX_CHECK
+endif
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_ROUNDING),y)
+CFLAGS += -DARM_MATH_ROUNDING
+endif
+
+CMSIS5_DSP := CMSIS_5/CMSIS/DSP/Source
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctions.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctions.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vinverse_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_divide_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctions.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/ControllerFunctions.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctions.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bubble_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_insertion_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bitonic_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_selection_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_heap_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_quick_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q7.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTablesF16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_dice_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_boolean_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_russellrao_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalmichener_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalsneath_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_rogerstanimoto_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_hamming_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_kulsinski_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_yule_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jaccard_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctions.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/QuaternionMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_rotation2quaternion_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_normalize_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_single_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_conjugate_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion2rotation_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal2.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctions.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q15.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f32.c
+
+CFLAGS += -fno-strict-aliasing -ffunction-sections -fdata-sections
+CFLAGS += -ffast-math -Wno-undef -Wno-shadow -Wno-undef
+
+BIN := libarm_cortexM4lf_math$(LIBEXT)

Review comment:
       fixed




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794478869



##########
File path: mlearning/libcmsisdsp/Makefile
##########
@@ -0,0 +1,569 @@
+############################################################################
+# apps/mlearning/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_CMSIS_DSP),y)

Review comment:
       don't need check.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] jerpelea commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
jerpelea commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794474070



##########
File path: mlearning/libcmsisdsp/Makefile
##########
@@ -0,0 +1,570 @@
+############################################################################
+# apps/mlearning/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_CMSIS_DSP),y)
+INCLUDES += $(TOPDIR)/include/cmsis
+
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_MATRIX_CHECK),y)
+CFLAGS += -DARM_MATH_MATRIX_CHECK
+endif
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_ROUNDING),y)
+CFLAGS += -DARM_MATH_ROUNDING
+endif
+
+CMSIS5_DSP := CMSIS_5/CMSIS/DSP/Source
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctions.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctions.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vinverse_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_divide_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctions.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/ControllerFunctions.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctions.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bubble_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_insertion_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bitonic_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_selection_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_heap_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_quick_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q7.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTablesF16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_dice_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_boolean_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_russellrao_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalmichener_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalsneath_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_rogerstanimoto_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_hamming_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_kulsinski_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_yule_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jaccard_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctions.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/QuaternionMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_rotation2quaternion_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_normalize_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_single_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_conjugate_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion2rotation_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal2.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctions.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q15.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f32.c
+
+CFLAGS += -fno-strict-aliasing -ffunction-sections -fdata-sections
+CFLAGS += -ffast-math -Wno-undef -Wno-shadow -Wno-undef
+
+BIN := libarm_cortexM4lf_math$(LIBEXT)

Review comment:
       Thanks for explaining what you consider wrong.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794478616



##########
File path: mlearning/libcmsisnn/Makefile
##########
@@ -0,0 +1,105 @@
+############################################################################
+# apps/mlearning/libcmsisnn/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_CMSIS_NN),y)

Review comment:
       don't ifeq here




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794475611



##########
File path: mlearning/libcmsisdsp/Kconfig
##########
@@ -0,0 +1,43 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+config CMSIS

Review comment:
       CMSIS contain both DSP and NN, it doesn't make sense to download CMSIS package to mlearning/libcmsisdsp, and reference it from mlearning/libcmsisnn. How about:
   mlearning/cmsis/
   CMSIS_5
   libcmsisdsp
     Kconfig
     Make.defs
     Makefile
   libcmsisnn
     Kconfig
     Make.defs
     Makefile
   Kconfig
   Make.def
   Makefile




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] jerpelea commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
jerpelea commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794463946



##########
File path: mlearning/libcmsisdsp/Kconfig
##########
@@ -0,0 +1,43 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+config CMSIS

Review comment:
       I prefer them splitted because we have 2 libraries




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r795828917



##########
File path: mlearning/libcmsisdsp/Makefile
##########
@@ -0,0 +1,566 @@
+############################################################################
+# apps/mlearning/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_MATRIX_CHECK),y)
+CFLAGS += -DARM_MATH_MATRIX_CHECK

Review comment:
       Ok.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] jerpelea commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
jerpelea commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794483893



##########
File path: mlearning/libcmsisdsp/Makefile
##########
@@ -0,0 +1,569 @@
+############################################################################
+# apps/mlearning/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_CMSIS_DSP),y)

Review comment:
       thanks for the review




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794475611



##########
File path: mlearning/libcmsisdsp/Kconfig
##########
@@ -0,0 +1,43 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+config CMSIS

Review comment:
       CMSIS contain both DSP and NN, it doesn't make sense to download CMSIS package to mlearning/libcmsisdsp, and reference it from mlearning/libcmsisnn. How about:
   ```
   mlearning/cmsis/
   CMSIS_5
   libcmsisdsp
     Kconfig
     Make.defs
     Makefile
   libcmsisnn
     Kconfig
     Make.defs
     Makefile
   Kconfig
   Make.def
   Makefile
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] jerpelea commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
jerpelea commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794486656



##########
File path: mlearning/libcmsisdsp/Kconfig
##########
@@ -0,0 +1,43 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+config CMSIS

Review comment:
       thanks for the suggestion. I'll do it 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] jerpelea commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
jerpelea commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794464580



##########
File path: mlearning/libcmsisdsp/Makefile
##########
@@ -0,0 +1,570 @@
+############################################################################
+# apps/mlearning/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_CMSIS_DSP),y)
+INCLUDES += $(TOPDIR)/include/cmsis
+
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_MATRIX_CHECK),y)
+CFLAGS += -DARM_MATH_MATRIX_CHECK
+endif
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_ROUNDING),y)
+CFLAGS += -DARM_MATH_ROUNDING
+endif
+
+CMSIS5_DSP := CMSIS_5/CMSIS/DSP/Source
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctions.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctions.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vinverse_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_divide_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctions.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/ControllerFunctions.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctions.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bubble_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_insertion_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bitonic_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_selection_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_heap_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_quick_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q7.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTablesF16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_dice_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_boolean_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_russellrao_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalmichener_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalsneath_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_rogerstanimoto_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_hamming_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_kulsinski_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_yule_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jaccard_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctions.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/QuaternionMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_rotation2quaternion_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_normalize_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_single_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_conjugate_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion2rotation_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal2.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctions.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q15.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f32.c
+
+CFLAGS += -fno-strict-aliasing -ffunction-sections -fdata-sections
+CFLAGS += -ffast-math -Wno-undef -Wno-shadow -Wno-undef
+
+BIN := libarm_cortexM4lf_math$(LIBEXT)

Review comment:
       why should I remove the cmsis_dsp?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] jerpelea commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
jerpelea commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r795721997



##########
File path: mlearning/libcmsisdsp/Makefile
##########
@@ -0,0 +1,566 @@
+############################################################################
+# apps/mlearning/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_MATRIX_CHECK),y)
+CFLAGS += -DARM_MATH_MATRIX_CHECK

Review comment:
       It was tested with minimum optimization 
   I will add the rest in a future PR 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r795824515



##########
File path: mlearning/cmsis/libcmsisdsp/Make.defs
##########
@@ -0,0 +1,30 @@
+############################################################################
+# apps/mlearning/cmsis/libcmsisdsp/Make.defs
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+ifneq ($(CONFIG_CMSIS_DSP),)
+CONFIGURED_APPS += $(APPDIR)/mlearning/cmsis/libcmsisdsp
+
+CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/Core/Include/}
+CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/DSP/Include/}
+CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/DSP/PrivateInclude/}
+CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/Core/Include/}
+CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/DSP/Include/}
+CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/DSP/PrivateInclude/}

Review comment:
       should we move
   ```
   CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/Core/Include/}
   CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/Core/Include/}
   ```
   to apps/mlearning/cmsis/Make.defs and move:
   ```
   CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/DSP/PrivateInclude/}
   CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/mlearning/cmsis/CMSIS_5/CMSIS/DSP/PrivateInclude/}
   ```
   to mlearning/cmsis/libcmsisdsp/Makefile?

##########
File path: mlearning/cmsis/.gitignore
##########
@@ -0,0 +1 @@
+/*.zip

Review comment:
       add new line

##########
File path: mlearning/cmsis/libcmsisnn/Make.defs
##########
@@ -0,0 +1,23 @@
+############################################################################
+# apps/mlearning/cmsis/libcmsisnn/Make.defs
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+ifeq ($(CONFIG_CMSIS_NN),y)

Review comment:
       Not change?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794472301



##########
File path: mlearning/libcmsisdsp/Makefile
##########
@@ -0,0 +1,570 @@
+############################################################################
+# apps/mlearning/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_CMSIS_DSP),y)
+INCLUDES += $(TOPDIR)/include/cmsis
+
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_MATRIX_CHECK),y)
+CFLAGS += -DARM_MATH_MATRIX_CHECK
+endif
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_ROUNDING),y)
+CFLAGS += -DARM_MATH_ROUNDING
+endif
+
+CMSIS5_DSP := CMSIS_5/CMSIS/DSP/Source
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctions.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctions.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vinverse_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_divide_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctions.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/ControllerFunctions.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctions.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bubble_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_insertion_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bitonic_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_selection_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_heap_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_quick_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q7.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTablesF16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_dice_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_boolean_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_russellrao_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalmichener_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalsneath_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_rogerstanimoto_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_hamming_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_kulsinski_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_yule_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jaccard_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctions.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/QuaternionMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_rotation2quaternion_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_normalize_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_single_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_conjugate_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion2rotation_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal2.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctions.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q15.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f32.c
+
+CFLAGS += -fno-strict-aliasing -ffunction-sections -fdata-sections
+CFLAGS += -ffast-math -Wno-undef -Wno-shadow -Wno-undef
+
+BIN := libarm_cortexM4lf_math$(LIBEXT)

Review comment:
       CMSIS is a general library could be run on many arm architecture, it's wrong to add cortexM4lf in the library name.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] jerpelea commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
jerpelea commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794469955



##########
File path: mlearning/libcmsisdsp/Makefile
##########
@@ -0,0 +1,570 @@
+############################################################################
+# apps/mlearning/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_CMSIS_DSP),y)
+INCLUDES += $(TOPDIR)/include/cmsis
+
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_MATRIX_CHECK),y)
+CFLAGS += -DARM_MATH_MATRIX_CHECK
+endif
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_ROUNDING),y)
+CFLAGS += -DARM_MATH_ROUNDING
+endif
+
+CMSIS5_DSP := CMSIS_5/CMSIS/DSP/Source
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctions.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctions.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vinverse_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_divide_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctions.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/ControllerFunctions.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctions.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bubble_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_insertion_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bitonic_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_selection_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_heap_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_quick_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q7.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTablesF16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_dice_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_boolean_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_russellrao_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalmichener_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalsneath_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_rogerstanimoto_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_hamming_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_kulsinski_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_yule_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jaccard_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctions.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/QuaternionMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_rotation2quaternion_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_normalize_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_single_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_conjugate_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion2rotation_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal2.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctions.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q15.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f32.c
+
+CFLAGS += -fno-strict-aliasing -ffunction-sections -fdata-sections
+CFLAGS += -ffast-math -Wno-undef -Wno-shadow -Wno-undef
+
+BIN := libarm_cortexM4lf_math$(LIBEXT)

Review comment:
       libarm_cortexM4lf_math is needed




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794485592



##########
File path: mlearning/libcmsisdsp/Makefile
##########
@@ -0,0 +1,566 @@
+############################################################################
+# apps/mlearning/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_MATRIX_CHECK),y)
+CFLAGS += -DARM_MATH_MATRIX_CHECK

Review comment:
       The flag add here isn't enough to get the full optimized code:
   https://github.com/ARM-software/CMSIS_5/blob/develop/CMSIS/DSP/config.cmake
   https://github.com/ARM-software/CMSIS_5/blob/develop/CMSIS/DSP/cmsisdspconfig.py
   You need add the same flag as the original cmake script.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794387614



##########
File path: mlearning/libcmsisdsp/Makefile
##########
@@ -0,0 +1,570 @@
+############################################################################
+# apps/mlearning/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_CMSIS_DSP),y)
+INCLUDES += $(TOPDIR)/include/cmsis

Review comment:
       don't need

##########
File path: mlearning/libcmsisdsp/Kconfig
##########
@@ -0,0 +1,43 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+config CMSIS

Review comment:
       should we layout to:
   mlearning/cmsis/
     CMSIS_5
     Kconfig
     Make.def
     Makefile
   

##########
File path: mlearning/libcmsisdsp/Makefile
##########
@@ -0,0 +1,570 @@
+############################################################################
+# apps/mlearning/libcmsisdsp/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_CMSIS_DSP),y)
+INCLUDES += $(TOPDIR)/include/cmsis
+
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_MATRIX_CHECK),y)
+CFLAGS += -DARM_MATH_MATRIX_CHECK
+endif
+ifeq ($(CONFIG_EXTERNALS_CMSIS_DSP_ARM_MATH_ROUNDING),y)
+CFLAGS += -DARM_MATH_ROUNDING
+endif
+
+CMSIS5_DSP := CMSIS_5/CMSIS/DSP/Source
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctions.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/SVMFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_polynomial_init_f16.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_rbf_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_linear_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/SVMFunctions/arm_svm_sigmoid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_spline_interp_init_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctions.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/InterpolationFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q7.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f32.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q31.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_q15.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_bilinear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/InterpolationFunctions/arm_linear_interp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sqrt_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_sin_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vinverse_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_divide_q15.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vlog_f16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/FastMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FastMathFunctions/arm_vexp_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctions.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_init_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_levinson_durbin_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_iir_lattice_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_f16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_lattice_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_opt_q7.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_decimate_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/FilteringFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_interpolate_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_correlate_fast_opt_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_fir_sparse_f32.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_lms_norm_init_q15.c
+CSRCS += $(CMSIS5_DSP)/FilteringFunctions/arm_conv_partial_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_shift_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q7.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_offset_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_and_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u8.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/BasicMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_xor_u32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_negate_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_not_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_or_u16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q31.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_add_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_clip_f32.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_abs_q15.c
+CSRCS += $(CMSIS5_DSP)/BasicMathFunctions/arm_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/ControllerFunctions.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q31.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_sin_cos_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_init_f32.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q15.c
+CSRCS += $(CMSIS5_DSP)/ControllerFunctions/arm_pid_reset_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctions.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_weighted_sum_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bubble_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q31_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_insertion_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/SupportFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_bitonic_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_init_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q7.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_barycenter_f16.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_merge_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_copy_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_fill_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q31.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_selection_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_float_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_heap_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_float.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q7_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_quick_sort_f32.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_f16_to_q15.c
+CSRCS += $(CMSIS5_DSP)/SupportFunctions/arm_q15_to_q7.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_mve_tables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTablesF16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_common_tables_f16.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/CommonTables.c
+CSRCS += $(CMSIS5_DSP)/CommonTables/arm_const_structs_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cosine_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_canberra_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_dice_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_boolean_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_russellrao_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_braycurtis_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_chebyshev_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalmichener_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_sokalsneath_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_rogerstanimoto_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_hamming_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_kulsinski_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jensenshannon_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_cityblock_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_yule_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_jaccard_distance.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_euclidean_distance_f32.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_minkowski_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/arm_correlation_distance_f16.c
+CSRCS += $(CMSIS5_DSP)/DistanceFunctions/DistanceFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_std_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctions.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_rms_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_logsumexp_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_kullback_leibler_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmin_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_var_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_power_q31.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_no_idx_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_mean_f32.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_absmax_q7.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_entropy_f64.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_max_f16.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/arm_min_q15.c
+CSRCS += $(CMSIS5_DSP)/StatisticsFunctions/StatisticsFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctions.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/MatrixFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_ldlt_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_lower_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_mult_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cmplx_trans_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_inverse_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_solve_upper_triangular_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_init_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_fast_q31.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_scale_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f64.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_cholesky_f32.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_vec_mult_f16.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_sub_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_add_q15.c
+CSRCS += $(CMSIS5_DSP)/MatrixFunctions/arm_mat_mult_q7.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/QuaternionMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_rotation2quaternion_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_normalize_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_product_single_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_conjugate_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_inverse_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion_norm_f32.c
+CSRCS += $(CMSIS5_DSP)/QuaternionMathFunctions/arm_quaternion2rotation_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal2.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_dct4_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_f64.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix4_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/TransformFunctions.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_q31.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix2_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f32.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_bitreversal_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_init_q15.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_cfft_radix8_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_fast_init_f16.c
+CSRCS += $(CMSIS5_DSP)/TransformFunctions/arm_rfft_q15.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f32.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/arm_gaussian_naive_bayes_predict_f16.c
+CSRCS += $(CMSIS5_DSP)/BayesFunctions/BayesFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctions.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/ComplexMathFunctionsF16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_dot_prod_f16.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_conj_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
+CSRCS += $(CMSIS5_DSP)/ComplexMathFunctions/arm_cmplx_mag_f32.c
+
+CFLAGS += -fno-strict-aliasing -ffunction-sections -fdata-sections
+CFLAGS += -ffast-math -Wno-undef -Wno-shadow -Wno-undef
+
+BIN := libarm_cortexM4lf_math$(LIBEXT)

Review comment:
       remove arm_cortexM41f(lib_cmsis_math.a)




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794478391



##########
File path: mlearning/libcmsisnn/Makefile
##########
@@ -0,0 +1,105 @@
+############################################################################
+# apps/mlearning/libcmsisnn/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_CMSIS_NN),y)
+INCLUDES += $(TOPDIR)/include/cmsis/

Review comment:
       where is include/cmsis?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx-apps] jerpelea commented on a change in pull request #987: Add support for CMSIS Neural Network

Posted by GitBox <gi...@apache.org>.
jerpelea commented on a change in pull request #987:
URL: https://github.com/apache/incubator-nuttx-apps/pull/987#discussion_r794479722



##########
File path: mlearning/libcmsisnn/Makefile
##########
@@ -0,0 +1,105 @@
+############################################################################
+# apps/mlearning/libcmsisnn/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+ifeq ($(CONFIG_CMSIS_NN),y)
+INCLUDES += $(TOPDIR)/include/cmsis/

Review comment:
       leftover from initial patch




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org