Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed by
TARGET_MAX32625NEXPAQ/arm_common_tables.h@129:0ab6a29f35bf, 2016-11-08 (annotated)
- Committer:
- <>
- Date:
- Tue Nov 08 17:28:34 2016 +0000
- Revision:
- 129:0ab6a29f35bf
Release 129 of the mbed library
Ports for Upcoming Targets
3011: Add u-blox Sara-N target. https://github.com/ARMmbed/mbed-os/pull/3011
3099: MAX32625 https://github.com/ARMmbed/mbed-os/pull/3099
3151: Add support for FRDM-K82F https://github.com/ARMmbed/mbed-os/pull/3151
3177: New mcu k22512 fixing pr 3136 https://github.com/ARMmbed/mbed-os/pull/3177
Fixes and Changes
3008: NUCLEO_F072RB: Fix wrong timer channel number on pwm PB_5 pin https://github.com/ARMmbed/mbed-os/pull/3008
3013: STM32xx - Change how the ADC internal pins are checked before pinmap_ https://github.com/ARMmbed/mbed-os/pull/3013
3041: [nRF5] - added implementation of API of serial port flow control configuration. https://github.com/ARMmbed/mbed-os/pull/3041
3084: [nrf5] fix in Digital I/O : a gpioe pin was uninitialized badly https://github.com/ARMmbed/mbed-os/pull/3084
3009: TRNG enabled. TRNG APIs implemented. REV A/B/C/D flags removed. Warnings removed https://github.com/ARMmbed/mbed-os/pull/3009
3074: Target stm init gcc alignement https://github.com/ARMmbed/mbed-os/pull/3074
2988: Update of can_api.c fixing #2987 https://github.com/ARMmbed/mbed-os/pull/2988
3173: [Exporters] Add a device_name to microbit entry in targets.json https://github.com/ARMmbed/mbed-os/pull/3173
2969: [nRF52] - switch irq priorities of driver handlers to the lowest level https://github.com/ARMmbed/mbed-os/pull/2969
3184: #3183 Compiler warning in trng_api.c with K64F https://github.com/ARMmbed/mbed-os/pull/3184
3104: [NuMaker] Support CAN and fix PWM CLK error https://github.com/ARMmbed/mbed-os/pull/3104
3186: MultiTech mDot - add back SPI3 pins https://github.com/ARMmbed/mbed-os/pull/3186
3075: nsapi - Add standardized return types for size and errors https://github.com/ARMmbed/mbed-os/pull/3075
3221: u-blox odin w2 drivers update https://github.com/ARMmbed/mbed-os/pull/3221
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| <> | 129:0ab6a29f35bf | 1 | /* ---------------------------------------------------------------------- |
| <> | 129:0ab6a29f35bf | 2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved. |
| <> | 129:0ab6a29f35bf | 3 | * |
| <> | 129:0ab6a29f35bf | 4 | * $Date: 19. March 2015 |
| <> | 129:0ab6a29f35bf | 5 | * $Revision: V.1.4.5 |
| <> | 129:0ab6a29f35bf | 6 | * |
| <> | 129:0ab6a29f35bf | 7 | * Project: CMSIS DSP Library |
| <> | 129:0ab6a29f35bf | 8 | * Title: arm_common_tables.h |
| <> | 129:0ab6a29f35bf | 9 | * |
| <> | 129:0ab6a29f35bf | 10 | * Description: This file has extern declaration for common tables like Bitreverse, reciprocal etc which are used across different functions |
| <> | 129:0ab6a29f35bf | 11 | * |
| <> | 129:0ab6a29f35bf | 12 | * Target Processor: Cortex-M4/Cortex-M3 |
| <> | 129:0ab6a29f35bf | 13 | * |
| <> | 129:0ab6a29f35bf | 14 | * Redistribution and use in source and binary forms, with or without |
| <> | 129:0ab6a29f35bf | 15 | * modification, are permitted provided that the following conditions |
| <> | 129:0ab6a29f35bf | 16 | * are met: |
| <> | 129:0ab6a29f35bf | 17 | * - Redistributions of source code must retain the above copyright |
| <> | 129:0ab6a29f35bf | 18 | * notice, this list of conditions and the following disclaimer. |
| <> | 129:0ab6a29f35bf | 19 | * - Redistributions in binary form must reproduce the above copyright |
| <> | 129:0ab6a29f35bf | 20 | * notice, this list of conditions and the following disclaimer in |
| <> | 129:0ab6a29f35bf | 21 | * the documentation and/or other materials provided with the |
| <> | 129:0ab6a29f35bf | 22 | * distribution. |
| <> | 129:0ab6a29f35bf | 23 | * - Neither the name of ARM LIMITED nor the names of its contributors |
| <> | 129:0ab6a29f35bf | 24 | * may be used to endorse or promote products derived from this |
| <> | 129:0ab6a29f35bf | 25 | * software without specific prior written permission. |
| <> | 129:0ab6a29f35bf | 26 | * |
| <> | 129:0ab6a29f35bf | 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| <> | 129:0ab6a29f35bf | 28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| <> | 129:0ab6a29f35bf | 29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
| <> | 129:0ab6a29f35bf | 30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
| <> | 129:0ab6a29f35bf | 31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
| <> | 129:0ab6a29f35bf | 32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
| <> | 129:0ab6a29f35bf | 33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| <> | 129:0ab6a29f35bf | 34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
| <> | 129:0ab6a29f35bf | 35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| <> | 129:0ab6a29f35bf | 36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
| <> | 129:0ab6a29f35bf | 37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| <> | 129:0ab6a29f35bf | 38 | * POSSIBILITY OF SUCH DAMAGE. |
| <> | 129:0ab6a29f35bf | 39 | * -------------------------------------------------------------------- */ |
| <> | 129:0ab6a29f35bf | 40 | |
| <> | 129:0ab6a29f35bf | 41 | #ifndef _ARM_COMMON_TABLES_H |
| <> | 129:0ab6a29f35bf | 42 | #define _ARM_COMMON_TABLES_H |
| <> | 129:0ab6a29f35bf | 43 | |
| <> | 129:0ab6a29f35bf | 44 | #include "arm_math.h" |
| <> | 129:0ab6a29f35bf | 45 | |
| <> | 129:0ab6a29f35bf | 46 | extern const uint16_t armBitRevTable[1024]; |
| <> | 129:0ab6a29f35bf | 47 | extern const q15_t armRecipTableQ15[64]; |
| <> | 129:0ab6a29f35bf | 48 | extern const q31_t armRecipTableQ31[64]; |
| <> | 129:0ab6a29f35bf | 49 | //extern const q31_t realCoefAQ31[1024]; |
| <> | 129:0ab6a29f35bf | 50 | //extern const q31_t realCoefBQ31[1024]; |
| <> | 129:0ab6a29f35bf | 51 | extern const float32_t twiddleCoef_16[32]; |
| <> | 129:0ab6a29f35bf | 52 | extern const float32_t twiddleCoef_32[64]; |
| <> | 129:0ab6a29f35bf | 53 | extern const float32_t twiddleCoef_64[128]; |
| <> | 129:0ab6a29f35bf | 54 | extern const float32_t twiddleCoef_128[256]; |
| <> | 129:0ab6a29f35bf | 55 | extern const float32_t twiddleCoef_256[512]; |
| <> | 129:0ab6a29f35bf | 56 | extern const float32_t twiddleCoef_512[1024]; |
| <> | 129:0ab6a29f35bf | 57 | extern const float32_t twiddleCoef_1024[2048]; |
| <> | 129:0ab6a29f35bf | 58 | extern const float32_t twiddleCoef_2048[4096]; |
| <> | 129:0ab6a29f35bf | 59 | extern const float32_t twiddleCoef_4096[8192]; |
| <> | 129:0ab6a29f35bf | 60 | #define twiddleCoef twiddleCoef_4096 |
| <> | 129:0ab6a29f35bf | 61 | extern const q31_t twiddleCoef_16_q31[24]; |
| <> | 129:0ab6a29f35bf | 62 | extern const q31_t twiddleCoef_32_q31[48]; |
| <> | 129:0ab6a29f35bf | 63 | extern const q31_t twiddleCoef_64_q31[96]; |
| <> | 129:0ab6a29f35bf | 64 | extern const q31_t twiddleCoef_128_q31[192]; |
| <> | 129:0ab6a29f35bf | 65 | extern const q31_t twiddleCoef_256_q31[384]; |
| <> | 129:0ab6a29f35bf | 66 | extern const q31_t twiddleCoef_512_q31[768]; |
| <> | 129:0ab6a29f35bf | 67 | extern const q31_t twiddleCoef_1024_q31[1536]; |
| <> | 129:0ab6a29f35bf | 68 | extern const q31_t twiddleCoef_2048_q31[3072]; |
| <> | 129:0ab6a29f35bf | 69 | extern const q31_t twiddleCoef_4096_q31[6144]; |
| <> | 129:0ab6a29f35bf | 70 | extern const q15_t twiddleCoef_16_q15[24]; |
| <> | 129:0ab6a29f35bf | 71 | extern const q15_t twiddleCoef_32_q15[48]; |
| <> | 129:0ab6a29f35bf | 72 | extern const q15_t twiddleCoef_64_q15[96]; |
| <> | 129:0ab6a29f35bf | 73 | extern const q15_t twiddleCoef_128_q15[192]; |
| <> | 129:0ab6a29f35bf | 74 | extern const q15_t twiddleCoef_256_q15[384]; |
| <> | 129:0ab6a29f35bf | 75 | extern const q15_t twiddleCoef_512_q15[768]; |
| <> | 129:0ab6a29f35bf | 76 | extern const q15_t twiddleCoef_1024_q15[1536]; |
| <> | 129:0ab6a29f35bf | 77 | extern const q15_t twiddleCoef_2048_q15[3072]; |
| <> | 129:0ab6a29f35bf | 78 | extern const q15_t twiddleCoef_4096_q15[6144]; |
| <> | 129:0ab6a29f35bf | 79 | extern const float32_t twiddleCoef_rfft_32[32]; |
| <> | 129:0ab6a29f35bf | 80 | extern const float32_t twiddleCoef_rfft_64[64]; |
| <> | 129:0ab6a29f35bf | 81 | extern const float32_t twiddleCoef_rfft_128[128]; |
| <> | 129:0ab6a29f35bf | 82 | extern const float32_t twiddleCoef_rfft_256[256]; |
| <> | 129:0ab6a29f35bf | 83 | extern const float32_t twiddleCoef_rfft_512[512]; |
| <> | 129:0ab6a29f35bf | 84 | extern const float32_t twiddleCoef_rfft_1024[1024]; |
| <> | 129:0ab6a29f35bf | 85 | extern const float32_t twiddleCoef_rfft_2048[2048]; |
| <> | 129:0ab6a29f35bf | 86 | extern const float32_t twiddleCoef_rfft_4096[4096]; |
| <> | 129:0ab6a29f35bf | 87 | |
| <> | 129:0ab6a29f35bf | 88 | |
| <> | 129:0ab6a29f35bf | 89 | /* floating-point bit reversal tables */ |
| <> | 129:0ab6a29f35bf | 90 | #define ARMBITREVINDEXTABLE__16_TABLE_LENGTH ((uint16_t)20 ) |
| <> | 129:0ab6a29f35bf | 91 | #define ARMBITREVINDEXTABLE__32_TABLE_LENGTH ((uint16_t)48 ) |
| <> | 129:0ab6a29f35bf | 92 | #define ARMBITREVINDEXTABLE__64_TABLE_LENGTH ((uint16_t)56 ) |
| <> | 129:0ab6a29f35bf | 93 | #define ARMBITREVINDEXTABLE_128_TABLE_LENGTH ((uint16_t)208 ) |
| <> | 129:0ab6a29f35bf | 94 | #define ARMBITREVINDEXTABLE_256_TABLE_LENGTH ((uint16_t)440 ) |
| <> | 129:0ab6a29f35bf | 95 | #define ARMBITREVINDEXTABLE_512_TABLE_LENGTH ((uint16_t)448 ) |
| <> | 129:0ab6a29f35bf | 96 | #define ARMBITREVINDEXTABLE1024_TABLE_LENGTH ((uint16_t)1800) |
| <> | 129:0ab6a29f35bf | 97 | #define ARMBITREVINDEXTABLE2048_TABLE_LENGTH ((uint16_t)3808) |
| <> | 129:0ab6a29f35bf | 98 | #define ARMBITREVINDEXTABLE4096_TABLE_LENGTH ((uint16_t)4032) |
| <> | 129:0ab6a29f35bf | 99 | |
| <> | 129:0ab6a29f35bf | 100 | extern const uint16_t armBitRevIndexTable16[ARMBITREVINDEXTABLE__16_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 101 | extern const uint16_t armBitRevIndexTable32[ARMBITREVINDEXTABLE__32_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 102 | extern const uint16_t armBitRevIndexTable64[ARMBITREVINDEXTABLE__64_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 103 | extern const uint16_t armBitRevIndexTable128[ARMBITREVINDEXTABLE_128_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 104 | extern const uint16_t armBitRevIndexTable256[ARMBITREVINDEXTABLE_256_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 105 | extern const uint16_t armBitRevIndexTable512[ARMBITREVINDEXTABLE_512_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 106 | extern const uint16_t armBitRevIndexTable1024[ARMBITREVINDEXTABLE1024_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 107 | extern const uint16_t armBitRevIndexTable2048[ARMBITREVINDEXTABLE2048_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 108 | extern const uint16_t armBitRevIndexTable4096[ARMBITREVINDEXTABLE4096_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 109 | |
| <> | 129:0ab6a29f35bf | 110 | /* fixed-point bit reversal tables */ |
| <> | 129:0ab6a29f35bf | 111 | #define ARMBITREVINDEXTABLE_FIXED___16_TABLE_LENGTH ((uint16_t)12 ) |
| <> | 129:0ab6a29f35bf | 112 | #define ARMBITREVINDEXTABLE_FIXED___32_TABLE_LENGTH ((uint16_t)24 ) |
| <> | 129:0ab6a29f35bf | 113 | #define ARMBITREVINDEXTABLE_FIXED___64_TABLE_LENGTH ((uint16_t)56 ) |
| <> | 129:0ab6a29f35bf | 114 | #define ARMBITREVINDEXTABLE_FIXED__128_TABLE_LENGTH ((uint16_t)112 ) |
| <> | 129:0ab6a29f35bf | 115 | #define ARMBITREVINDEXTABLE_FIXED__256_TABLE_LENGTH ((uint16_t)240 ) |
| <> | 129:0ab6a29f35bf | 116 | #define ARMBITREVINDEXTABLE_FIXED__512_TABLE_LENGTH ((uint16_t)480 ) |
| <> | 129:0ab6a29f35bf | 117 | #define ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH ((uint16_t)992 ) |
| <> | 129:0ab6a29f35bf | 118 | #define ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH ((uint16_t)1984) |
| <> | 129:0ab6a29f35bf | 119 | #define ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH ((uint16_t)4032) |
| <> | 129:0ab6a29f35bf | 120 | |
| <> | 129:0ab6a29f35bf | 121 | extern const uint16_t armBitRevIndexTable_fixed_16[ARMBITREVINDEXTABLE_FIXED___16_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 122 | extern const uint16_t armBitRevIndexTable_fixed_32[ARMBITREVINDEXTABLE_FIXED___32_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 123 | extern const uint16_t armBitRevIndexTable_fixed_64[ARMBITREVINDEXTABLE_FIXED___64_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 124 | extern const uint16_t armBitRevIndexTable_fixed_128[ARMBITREVINDEXTABLE_FIXED__128_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 125 | extern const uint16_t armBitRevIndexTable_fixed_256[ARMBITREVINDEXTABLE_FIXED__256_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 126 | extern const uint16_t armBitRevIndexTable_fixed_512[ARMBITREVINDEXTABLE_FIXED__512_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 127 | extern const uint16_t armBitRevIndexTable_fixed_1024[ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 128 | extern const uint16_t armBitRevIndexTable_fixed_2048[ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 129 | extern const uint16_t armBitRevIndexTable_fixed_4096[ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH]; |
| <> | 129:0ab6a29f35bf | 130 | |
| <> | 129:0ab6a29f35bf | 131 | /* Tables for Fast Math Sine and Cosine */ |
| <> | 129:0ab6a29f35bf | 132 | extern const float32_t sinTable_f32[FAST_MATH_TABLE_SIZE + 1]; |
| <> | 129:0ab6a29f35bf | 133 | extern const q31_t sinTable_q31[FAST_MATH_TABLE_SIZE + 1]; |
| <> | 129:0ab6a29f35bf | 134 | extern const q15_t sinTable_q15[FAST_MATH_TABLE_SIZE + 1]; |
| <> | 129:0ab6a29f35bf | 135 | |
| <> | 129:0ab6a29f35bf | 136 | #endif /* ARM_COMMON_TABLES_H */ |
