From 94f94260ace13688285fc8c62687079b26c18854 Mon Sep 17 00:00:00 2001
From: jaseg <git@jaseg.de>
Date: Sun, 20 Dec 2020 15:18:02 +0100
Subject: Submodule-cache WIP

---
 .../ActivationFunctions/arm_nn_activations_q15.c   | 101 -------------------
 .../ActivationFunctions/arm_nn_activations_q7.c    |  91 -----------------
 .../NN/Source/ActivationFunctions/arm_relu_q15.c   | 106 --------------------
 .../NN/Source/ActivationFunctions/arm_relu_q7.c    | 110 ---------------------
 4 files changed, 408 deletions(-)
 delete mode 100644 fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q15.c
 delete mode 100644 fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q7.c
 delete mode 100644 fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_relu_q15.c
 delete mode 100644 fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_relu_q7.c

(limited to 'fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions')

diff --git a/fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q15.c b/fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q15.c
deleted file mode 100644
index fd447e5..0000000
--- a/fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q15.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2010-2018 Arm Limited or its affiliates. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed 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
- *
- * 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.
- */
-
-/* ----------------------------------------------------------------------
- * Project:      CMSIS NN Library
- * Title:        arm_nn_activations_q15.c
- * Description:  Q15 neural network activation function using direct table look-up
- *
- * $Date:        17. January 2018
- * $Revision:    V.1.0.0
- *
- * Target Processor:  Cortex-M cores
- *
- * -------------------------------------------------------------------- */
-
-#include "arm_math.h"
-#include "arm_common_tables.h"
-#include "arm_nnfunctions.h"
-
-/**
- *  @ingroup groupNN
- */
-
-/**
- * @addtogroup Acti
- * @{
- */
-
-  /**
-   * @brief Q15 neural network activation function using direct table look-up
-   * @param[in,out]   data        pointer to input
-   * @param[in]       size        number of elements
-   * @param[in]       int_width   bit-width of the integer part, assume to be smaller than 3
-   * @param[in]       type        type of activation functions
-   * @return none.
-   *
-   * @details
-   * 
-   * This is the direct table look-up approach.
-   *
-   * Assume here the integer part of the fixed-point is <= 3.
-   * More than 3 just not making much sense, makes no difference with
-   * saturation followed by any of these activation functions. 
-   */
-
-void arm_nn_activations_direct_q15(q15_t * data, uint16_t size, uint16_t int_width, arm_nn_activation_type type)
-{
-    uint16_t  i = size;
-    q15_t    *pIn = data;
-    q15_t    *pOut = data;
-    uint16_t  shift_size = 8 + 3 - int_width;
-    uint32_t  bit_mask = 0x7FF >> int_width;
-    uint32_t  full_frac = bit_mask + 1;
-    const q15_t *lookup_table;
-
-    switch (type)
-    {
-    case ARM_SIGMOID:
-        lookup_table = sigmoidTable_q15;
-        break;
-    case ARM_TANH:
-    default:
-        lookup_table = tanhTable_q15;
-        break;
-    }
-
-    while (i)
-    {
-        q15_t     out;
-        q15_t     in = *pIn++;
-        q15_t     frac = (uint32_t) in & bit_mask;
-        q15_t     value = lookup_table[__USAT(in >> shift_size, 8)];
-        q15_t     value2 = lookup_table[__USAT(1 + (in >> shift_size), 8)];
-
-        /* doing the interpolation here for better accuracy */
-        out = ((q31_t) (full_frac - frac) * value + (q31_t) value2 * frac) >> shift_size;
-
-        *pOut++ = out;
-        i--;
-    }
-
-}
-
-/**
- * @} end of Acti group
- */
diff --git a/fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q7.c b/fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q7.c
deleted file mode 100644
index 2953bd5..0000000
--- a/fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q7.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2010-2018 Arm Limited or its affiliates. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed 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
- *
- * 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.
- */
-
-/* ----------------------------------------------------------------------
- * Project:      CMSIS NN Library
- * Title:        arm_nn_activations_q7.c
- * Description:  Q7 neural network activation function using direct table look-up
- *
- * $Date:        17. January 2018
- * $Revision:    V.1.0.0
- *
- * Target Processor:  Cortex-M cores
- *
- * -------------------------------------------------------------------- */
-
-#include "arm_math.h"
-#include "arm_common_tables.h"
-#include "arm_nnfunctions.h"
-
-/**
- *  @ingroup groupNN
- */
-
-/**
- * @addtogroup Acti
- * @{
- */
-
-  /**
-   * @brief Q7 neural network activation function using direct table look-up
-   * @param[in,out]   data        pointer to input
-   * @param[in]       size        number of elements
-   * @param[in]       int_width   bit-width of the integer part, assume to be smaller than 3
-   * @param[in]       type        type of activation functions
-   * @return none.
-   *
-   * @details
-   * 
-   * This is the direct table look-up approach.
-   *
-   * Assume here the integer part of the fixed-point is <= 3.
-   * More than 3 just not making much sense, makes no difference with
-   * saturation followed by any of these activation functions. 
-   */
-
-void arm_nn_activations_direct_q7(q7_t * data, uint16_t size, uint16_t int_width, arm_nn_activation_type type)
-{
-    uint16_t  i = size;
-    q7_t     *pIn = data;
-    q7_t     *pOut = data;
-    q7_t      in;
-    q7_t      out;
-    uint16_t  shift_size = 3 - int_width;
-    const q7_t *lookup_table;
-    switch (type)
-    {
-    case ARM_SIGMOID:
-        lookup_table = sigmoidTable_q7;
-        break;
-    case ARM_TANH:
-    default:
-        lookup_table = tanhTable_q7;
-        break;
-    }
-    while (i)
-    {
-        in = *pIn++;
-        out = lookup_table[(uint8_t) (in >> shift_size)];
-        *pOut++ = out;
-        i--;
-    }
-}
-
-/**
- * @} end of Acti group
- */
diff --git a/fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_relu_q15.c b/fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_relu_q15.c
deleted file mode 100644
index 6a1b907..0000000
--- a/fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_relu_q15.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (C) 2010-2018 Arm Limited or its affiliates. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed 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
- *
- * 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.
- */
-
-/* ----------------------------------------------------------------------
- * Project:      CMSIS NN Library
- * Title:        arm_relu_q15.c
- * Description:  Q15 version of ReLU
- *
- * $Date:        17. January 2018
- * $Revision:    V.1.0.0
- *
- * Target Processor:  Cortex-M cores
- *
- * -------------------------------------------------------------------- */
-
-#include "arm_math.h"
-#include "arm_nnfunctions.h"
-
-/**
- *  @ingroup groupNN
- */
-
-/**
- * @addtogroup Acti
- * @{
- */
-
-  /**
-   * @brief Q15 RELU function
-   * @param[in,out]   data        pointer to input
-   * @param[in]       size        number of elements
-   * @return none.
-   * 
-   * @details
-   *
-   * Optimized relu with QSUB instructions.
-   *
-   */
-
-void arm_relu_q15(q15_t * data, uint16_t size)
-{
-
-#if defined (ARM_MATH_DSP)
-    /* Run the following code for Cortex-M4 and Cortex-M7 */
-
-    uint16_t  i = size >> 1;
-    q15_t    *pIn = data;
-    q15_t    *pOut = data;
-    q31_t     in;
-    q31_t     buf;
-    q31_t     mask;
-
-    while (i)
-    {
-        in = *__SIMD32(pIn)++;
-
-        /* extract the first bit */
-        buf = __ROR(in & 0x80008000, 15);
-
-        /* if MSB=1, mask will be 0xFF, 0x0 otherwise */
-        mask = __QSUB16(0x00000000, buf);
-
-        *__SIMD32(pOut)++ = in & (~mask);
-        i--;
-    }
-
-    if (size & 0x1)
-    {
-        if (*pIn < 0)
-        {
-            *pIn = 0;
-        }
-        pIn++;
-    }
-#else
-    /* Run the following code as reference implementation for Cortex-M0 and Cortex-M3 */
-    uint16_t  i;
-
-    for (i = 0; i < size; i++)
-    {
-        if (data[i] < 0)
-            data[i] = 0;
-    }
-
-#endif                          /* ARM_MATH_DSP */
-
-}
-
-/**
- * @} end of Acti group
- */
diff --git a/fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_relu_q7.c b/fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_relu_q7.c
deleted file mode 100644
index caa027b..0000000
--- a/fw/cdc-dials/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_relu_q7.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (C) 2010-2018 Arm Limited or its affiliates. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed 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
- *
- * 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.
- */
-
-/* ----------------------------------------------------------------------
- * Project:      CMSIS NN Library
- * Title:        arm_relu_q7.c
- * Description:  Q7 version of ReLU
- *
- * $Date:        17. January 2018
- * $Revision:    V.1.0.0
- *
- * Target Processor:  Cortex-M cores
- *
- * -------------------------------------------------------------------- */
-
-#include "arm_math.h"
-#include "arm_nnfunctions.h"
-
-/**
- *  @ingroup groupNN
- */
-
-/**
- * @addtogroup Acti
- * @{
- */
-
-  /**
-   * @brief Q7 RELU function
-   * @param[in,out]   data        pointer to input
-   * @param[in]       size        number of elements
-   * @return none.
-   * 
-   * @details
-   *
-   * Optimized relu with QSUB instructions.
-   *
-   */
-
-void arm_relu_q7(q7_t * data, uint16_t size)
-{
-
-#if defined (ARM_MATH_DSP)
-    /* Run the following code for Cortex-M4 and Cortex-M7 */
-
-    uint16_t  i = size >> 2;
-    q7_t     *pIn = data;
-    q7_t     *pOut = data;
-    q31_t     in;
-    q31_t     buf;
-    q31_t     mask;
-
-    while (i)
-    {
-        in = *__SIMD32(pIn)++;
-
-        /* extract the first bit */
-        buf = __ROR(in & 0x80808080, 7);
-
-        /* if MSB=1, mask will be 0xFF, 0x0 otherwise */
-        mask = __QSUB8(0x00000000, buf);
-
-        *__SIMD32(pOut)++ = in & (~mask);
-        i--;
-    }
-
-    i = size & 0x3;
-    while (i)
-    {
-        if (*pIn < 0)
-        {
-            *pIn = 0;
-        }
-        pIn++;
-        i--;
-    }
-
-#else
-    /* Run the following code as reference implementation for Cortex-M0 and Cortex-M3 */
-
-    uint16_t  i;
-
-    for (i = 0; i < size; i++)
-    {
-        if (data[i] < 0)
-            data[i] = 0;
-    }
-
-#endif                          /* ARM_MATH_DSP */
-
-}
-
-/**
- * @} end of Acti group
- */
-- 
cgit