1# Copyright (c) 2023 Meta Platforms 2# SPDX-License-Identifier: Apache-2.0 3 4if(CONFIG_CMSIS_DSP) 5 6 set(CMSIS_DSP_DIR ${ZEPHYR_CURRENT_MODULE_DIR}) 7 set(cmsis_glue_path ${ZEPHYR_CMSIS_MODULE_DIR}) 8 9 zephyr_library() 10 11 zephyr_library_compile_options(-Ofast) 12 13 zephyr_include_directories( 14 ${CMSIS_DSP_DIR}/Include 15 ) 16 17 zephyr_library_include_directories( 18 ${CMSIS_DSP_DIR}/PrivateInclude 19 ${cmsis_glue_path}/CMSIS/Core/Include 20 ) 21 22 # Global Feature Definitions 23 zephyr_library_compile_definitions_ifdef(CONFIG_CMSIS_DSP_NEON ARM_MATH_NEON) 24 zephyr_library_compile_definitions_ifdef(CONFIG_CMSIS_DSP_NEON_EXPERIMENTAL ARM_MATH_NEON_EXPERIMENTAL) 25 zephyr_library_compile_definitions_ifdef(CONFIG_CMSIS_DSP_LOOPUNROLL ARM_MATH_LOOPUNROLL) 26 zephyr_library_compile_definitions_ifdef(CONFIG_CMSIS_DSP_ROUNDING ARM_MATH_ROUNDING) 27 zephyr_library_compile_definitions_ifdef(CONFIG_CMSIS_DSP_MATRIXCHECK ARM_MATH_MATRIX_CHECK) 28 zephyr_library_compile_definitions_ifndef(CONFIG_CMSIS_DSP_FLOAT16 DISABLEFLOAT16) 29 zephyr_library_compile_definitions_ifdef(CONFIG_CMSIS_DSP_AUTOVECTORIZE ARM_MATH_AUTOVECTORIZE) 30 31 # Helium is automatically enabled by CMSIS-DSP if the processor supports it 32 zephyr_library_compile_definitions_ifdef(CONFIG_CMSIS_DSP_HELIUM_EXPERIMENTAL ARM_MATH_HELIUM_EXPERIMENTAL) 33 34 zephyr_compile_definitions_ifndef(CONFIG_ARM __GNUC_PYTHON__) 35 36 if (CONFIG_CMSIS_DSP_NEON OR CONFIG_CMSIS_DSP_NEON_EXPERIMENTAL) 37 zephyr_library_include_directories("${CMSIS_DSP_DIR}/ComputeLibrary/Include") 38 endif() 39 40 if (CONFIG_ARMV8_1_M_MVEI OR CONFIG_ARMV8_1_M_MVEF) 41 if (CONFIG_CMSIS_DSP_LAX_VECTOR_CONVERSIONS) 42 zephyr_library_compile_options($<$<STREQUAL:${CMAKE_C_COMPILER_ID},GNU>:-flax-vector-conversions>) 43 zephyr_library_compile_options($<$<STREQUAL:${CMAKE_C_COMPILER_ID},ARMClang>:-flax-vector-conversions=integer>) 44 else() 45 zephyr_library_compile_options($<$<STREQUAL:${CMAKE_C_COMPILER_ID},GNU>:-fno-lax-vector-conversions>) 46 zephyr_library_compile_options($<$<STREQUAL:${CMAKE_C_COMPILER_ID},ARMClang>:-flax-vector-conversions=none>) 47 endif() 48 endif() 49 50 zephyr_library_compile_options(-Ofast) 51 52 zephyr_compile_definitions_ifndef(CONFIG_ARM __GNUC_PYTHON__) 53 54 # BasicMathFunctions 55 if(CONFIG_CMSIS_DSP_BASICMATH) 56 set(SRCF64 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_abs_f64.c 57 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_add_f64.c 58 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_dot_prod_f64.c 59 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_mult_f64.c 60 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_negate_f64.c 61 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_offset_f64.c 62 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_scale_f64.c 63 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_sub_f64.c 64 ) 65 66 set(SRCF32 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_abs_f32.c 67 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_add_f32.c 68 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_clip_f32.c 69 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_dot_prod_f32.c 70 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_mult_f32.c 71 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_negate_f32.c 72 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_offset_f32.c 73 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_scale_f32.c 74 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_sub_f32.c 75 ) 76 77 set(SRCF16 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_abs_f16.c 78 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_add_f16.c 79 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_clip_f16.c 80 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_dot_prod_f16.c 81 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_mult_f16.c 82 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_negate_f16.c 83 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_offset_f16.c 84 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_scale_f16.c 85 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_sub_f16.c 86 ) 87 88 set(SRCQ31 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_abs_q31.c 89 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_add_q31.c 90 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_clip_q31.c 91 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_dot_prod_q31.c 92 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_mult_q31.c 93 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_negate_q31.c 94 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_offset_q31.c 95 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_scale_q31.c 96 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_shift_q31.c 97 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_sub_q31.c 98 ) 99 100 set(SRCQ15 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_abs_q15.c 101 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_add_q15.c 102 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_clip_q15.c 103 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_dot_prod_q15.c 104 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_mult_q15.c 105 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_negate_q15.c 106 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_offset_q15.c 107 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_scale_q15.c 108 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_shift_q15.c 109 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_sub_q15.c 110 ) 111 112 set(SRCQ7 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_abs_q7.c 113 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_add_q7.c 114 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_clip_q7.c 115 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_dot_prod_q7.c 116 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_mult_q7.c 117 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_negate_q7.c 118 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_offset_q7.c 119 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_scale_q7.c 120 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_shift_q7.c 121 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_sub_q7.c 122 ) 123 124 set(SRCU32 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_and_u32.c 125 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_not_u32.c 126 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_or_u32.c 127 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_xor_u32.c 128 ) 129 130 set(SRCU16 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_and_u16.c 131 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_not_u16.c 132 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_or_u16.c 133 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_xor_u16.c 134 ) 135 136 set(SRCU8 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_and_u8.c 137 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_or_u8.c 138 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_not_u8.c 139 ${CMSIS_DSP_DIR}/Source/BasicMathFunctions/arm_xor_u8.c) 140 141 zephyr_library_sources(${SRCF64}) 142 zephyr_library_sources(${SRCF32}) 143 144 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 145 zephyr_library_sources(${SRCF16}) 146 endif() 147 148 zephyr_library_sources(${SRCQ31}) 149 zephyr_library_sources(${SRCQ15}) 150 zephyr_library_sources(${SRCQ7}) 151 152 zephyr_library_sources(${SRCU32}) 153 zephyr_library_sources(${SRCU16}) 154 zephyr_library_sources(${SRCU8}) 155 endif() 156 157 # BayesFunctions 158 if (CONFIG_CMSIS_DSP_BAYES) 159 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/BayesFunctions/arm_gaussian_naive_bayes_predict_f32.c) 160 161 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 162 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/BayesFunctions/arm_gaussian_naive_bayes_predict_f16.c) 163 endif() 164 endif() 165 166 # Common Tables 167 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/CommonTables/arm_common_tables.c 168 ${CMSIS_DSP_DIR}/Source/CommonTables/arm_common_tables_f16.c) 169 170 171 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/CommonTables/arm_const_structs.c) 172 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/CommonTables/arm_const_structs_f16.c) 173 174 175 if (CONFIG_CMSIS_DSP_NEON OR CONFIG_CMSIS_DSP_NEON_EXPERIMENTAL) 176 zephyr_library_sources("${CMSIS_DSP_DIR}/ComputeLibrary/Source/arm_cl_tables.c") 177 endif() 178 179 if (CONFIG_ARMV8_1_M_MVEI OR CONFIG_ARMV8_1_M_MVEF) 180 zephyr_library_sources("${CMSIS_DSP_DIR}/Source/CommonTables/arm_mve_tables.c") 181 zephyr_library_sources("${CMSIS_DSP_DIR}/Source/CommonTables/arm_mve_tables_f16.c") 182 endif() 183 184 185 if (WRAPPER) 186 target_compile_definitions(CMSISDSP PUBLIC ARM_TABLE_BITREV_1024) 187 target_compile_definitions(CMSISDSP PUBLIC ARM_TABLE_TWIDDLECOEF_F32_4096) 188 target_compile_definitions(CMSISDSP PUBLIC ARM_TABLE_TWIDDLECOEF_Q31_4096) 189 target_compile_definitions(CMSISDSP PUBLIC ARM_TABLE_TWIDDLECOEF_Q15_4096) 190 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 191 target_compile_definitions(CMSISDSP PUBLIC ARM_TABLE_TWIDDLECOEF_F16_4096) 192 endif() 193 endif() 194 195 # ComplexMathFunctions 196 # MVE code is using a table for computing the fast sqrt arm_cmplx_mag_q31 197 # There is the possibility of not compiling this function and not including 198 # the table. 199 if (CONFIG_CMSIS_DSP_COMPLEXMATH) 200 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mag_q31.c) 201 202 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mag_q15.c) 203 204 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mag_fast_q15.c) 205 206 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_conj_f32.c) 207 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_conj_q15.c) 208 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_conj_q31.c) 209 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c) 210 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c) 211 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c) 212 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mag_f32.c) 213 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mag_f64.c) 214 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c) 215 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f64.c) 216 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c) 217 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c) 218 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c) 219 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f64.c) 220 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c) 221 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c) 222 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mult_real_f32.c) 223 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mult_real_q15.c) 224 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mult_real_q31.c) 225 226 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 227 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_conj_f16.c) 228 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f16.c) 229 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mag_f16.c) 230 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f16.c) 231 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f16.c) 232 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ComplexMathFunctions/arm_cmplx_mult_real_f16.c) 233 endif() 234 endif() 235 236 # Controller Functions 237 if (CONFIG_CMSIS_DSP_CONTROLLER) 238 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ControllerFunctions/arm_pid_init_f32.c) 239 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ControllerFunctions/arm_pid_init_q15.c) 240 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ControllerFunctions/arm_pid_init_q31.c) 241 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ControllerFunctions/arm_pid_reset_f32.c) 242 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ControllerFunctions/arm_pid_reset_q15.c) 243 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ControllerFunctions/arm_pid_reset_q31.c) 244 245 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ControllerFunctions/arm_sin_cos_f32.c) 246 247 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/ControllerFunctions/arm_sin_cos_q31.c) 248 endif() 249 250 # Distance Functions 251 if (CONFIG_CMSIS_DSP_DISTANCE) 252 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_boolean_distance.c) 253 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_braycurtis_distance_f32.c) 254 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_canberra_distance_f32.c) 255 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_chebyshev_distance_f32.c) 256 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_chebyshev_distance_f64.c) 257 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_cityblock_distance_f32.c) 258 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_cityblock_distance_f64.c) 259 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_correlation_distance_f32.c) 260 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_cosine_distance_f32.c) 261 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_cosine_distance_f64.c) 262 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_dice_distance.c) 263 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_euclidean_distance_f32.c) 264 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_euclidean_distance_f64.c) 265 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_hamming_distance.c) 266 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_jaccard_distance.c) 267 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_jensenshannon_distance_f32.c) 268 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_kulsinski_distance.c) 269 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_minkowski_distance_f32.c) 270 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_rogerstanimoto_distance.c) 271 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_russellrao_distance.c) 272 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_sokalmichener_distance.c) 273 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_sokalsneath_distance.c) 274 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_yule_distance.c) 275 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_dtw_distance_f32.c) 276 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_dtw_path_f32.c) 277 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_dtw_init_window_q7.c) 278 279 280 zephyr_library_include_directories("${CMSIS_DSP_DIR}/Source/DistanceFunctions") 281 282 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 283 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_braycurtis_distance_f16.c) 284 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_canberra_distance_f16.c) 285 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_chebyshev_distance_f16.c) 286 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_cityblock_distance_f16.c) 287 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_correlation_distance_f16.c) 288 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_cosine_distance_f16.c) 289 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_euclidean_distance_f16.c) 290 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_jensenshannon_distance_f16.c) 291 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/DistanceFunctions/arm_minkowski_distance_f16.c) 292 endif() 293 endif() 294 295 # Fast Math Functions 296 if (CONFIG_CMSIS_DSP_FASTMATH) 297 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_cos_f32.c) 298 299 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_cos_q15.c) 300 301 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_cos_q31.c) 302 303 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_sin_f32.c) 304 305 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_sin_q15.c) 306 307 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_sin_q31.c) 308 309 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_sqrt_q31.c) 310 311 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_sqrt_q15.c) 312 313 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_vlog_f32.c) 314 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_vlog_f64.c) 315 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_vexp_f32.c) 316 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_vexp_f64.c) 317 318 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_vlog_q31.c) 319 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_vlog_q15.c) 320 321 322 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 323 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_vlog_f16.c) 324 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_vexp_f16.c) 325 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_vinverse_f16.c) 326 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_atan2_f16.c) 327 endif() 328 329 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_divide_q15.c) 330 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_divide_q31.c) 331 332 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_atan2_f32.c) 333 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_atan2_q31.c) 334 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FastMathFunctions/arm_atan2_q15.c) 335 endif() 336 337 # Filtering Functions 338 if (CONFIG_CMSIS_DSP_FILTERING) 339 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_lms_norm_init_q31.c) 340 341 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_lms_norm_init_q15.c) 342 343 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c) 344 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c) 345 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df1_f32.c) 346 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c) 347 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c) 348 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c) 349 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c) 350 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c) 351 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df1_q15.c) 352 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df1_q31.c) 353 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df2T_f32.c) 354 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c) 355 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c) 356 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c) 357 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c) 358 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c) 359 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_f32.c) 360 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_fast_opt_q15.c) 361 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_fast_q15.c) 362 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_fast_q31.c) 363 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_opt_q15.c) 364 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_opt_q7.c) 365 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_partial_f32.c) 366 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_partial_fast_opt_q15.c) 367 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_partial_fast_q15.c) 368 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_partial_fast_q31.c) 369 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_partial_opt_q15.c) 370 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_partial_opt_q7.c) 371 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_partial_q15.c) 372 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_partial_q31.c) 373 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_partial_q7.c) 374 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_q15.c) 375 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_q31.c) 376 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_conv_q7.c) 377 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_correlate_f32.c) 378 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_correlate_f64.c) 379 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_correlate_fast_opt_q15.c) 380 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_correlate_fast_q15.c) 381 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_correlate_fast_q31.c) 382 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_correlate_opt_q15.c) 383 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_correlate_opt_q7.c) 384 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_correlate_q15.c) 385 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_correlate_q31.c) 386 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_correlate_q7.c) 387 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_decimate_f32.c) 388 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_decimate_fast_q15.c) 389 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_decimate_fast_q31.c) 390 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_decimate_init_f32.c) 391 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_decimate_init_q15.c) 392 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_decimate_init_q31.c) 393 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_decimate_q15.c) 394 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_decimate_q31.c) 395 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_f32.c) 396 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_f64.c) 397 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_fast_q15.c) 398 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_fast_q31.c) 399 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_init_f32.c) 400 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_init_f64.c) 401 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_init_q15.c) 402 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_init_q31.c) 403 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_init_q7.c) 404 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_interpolate_f32.c) 405 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_interpolate_init_f32.c) 406 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_interpolate_init_q15.c) 407 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_interpolate_init_q31.c) 408 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_interpolate_q15.c) 409 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_interpolate_q31.c) 410 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_lattice_f32.c) 411 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_lattice_init_f32.c) 412 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_lattice_init_q15.c) 413 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_lattice_init_q31.c) 414 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_lattice_q15.c) 415 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_lattice_q31.c) 416 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_q15.c) 417 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_q31.c) 418 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_q7.c) 419 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_sparse_f32.c) 420 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_sparse_init_f32.c) 421 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_sparse_init_q15.c) 422 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_sparse_init_q31.c) 423 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_sparse_init_q7.c) 424 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_sparse_q15.c) 425 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_sparse_q31.c) 426 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_sparse_q7.c) 427 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_iir_lattice_f32.c) 428 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_iir_lattice_init_f32.c) 429 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_iir_lattice_init_q15.c) 430 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_iir_lattice_init_q31.c) 431 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_iir_lattice_q15.c) 432 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_iir_lattice_q31.c) 433 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_lms_f32.c) 434 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_lms_init_f32.c) 435 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_lms_init_q15.c) 436 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_lms_init_q31.c) 437 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_lms_norm_f32.c) 438 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_lms_norm_init_f32.c) 439 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_lms_norm_q15.c) 440 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_lms_norm_q31.c) 441 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_lms_q15.c) 442 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_lms_q31.c) 443 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_levinson_durbin_f32.c) 444 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_levinson_durbin_q31.c) 445 446 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 447 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_f16.c) 448 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_fir_init_f16.c) 449 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df1_f16.c) 450 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f16.c) 451 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df2T_f16.c) 452 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f16.c) 453 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f16.c) 454 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f16.c) 455 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_correlate_f16.c) 456 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/FilteringFunctions/arm_levinson_durbin_f16.c) 457 endif() 458 endif() 459 460 # Interpolation Functions 461 if (CONFIG_CMSIS_DSP_INTERPOLATION) 462 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/InterpolationFunctions/arm_bilinear_interp_f32.c) 463 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/InterpolationFunctions/arm_bilinear_interp_q15.c) 464 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/InterpolationFunctions/arm_bilinear_interp_q31.c) 465 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/InterpolationFunctions/arm_bilinear_interp_q7.c) 466 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/InterpolationFunctions/arm_linear_interp_f32.c) 467 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/InterpolationFunctions/arm_linear_interp_q15.c) 468 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/InterpolationFunctions/arm_linear_interp_q31.c) 469 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/InterpolationFunctions/arm_linear_interp_q7.c) 470 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/InterpolationFunctions/arm_spline_interp_f32.c) 471 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/InterpolationFunctions/arm_spline_interp_init_f32.c) 472 473 474 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 475 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/InterpolationFunctions/arm_bilinear_interp_f16.c) 476 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/InterpolationFunctions/arm_linear_interp_f16.c) 477 endif() 478 endif() 479 480 # Matrix Functions 481 if (CONFIG_CMSIS_DSP_MATRIX) 482 set(SRCF64 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_cholesky_f64.c 483 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_inverse_f64.c 484 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_ldlt_f64.c 485 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_mult_f64.c 486 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_solve_lower_triangular_f64.c 487 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_solve_upper_triangular_f64.c 488 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_sub_f64.c 489 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_trans_f64.c 490 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_qr_f64.c 491 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_householder_f64.c 492 ) 493 494 set(SRCF32 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_add_f32.c 495 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_cholesky_f32.c 496 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_cmplx_mult_f32.c 497 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_cmplx_trans_f32.c 498 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_init_f32.c 499 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_inverse_f32.c 500 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_ldlt_f32.c 501 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_mult_f32.c 502 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_scale_f32.c 503 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_solve_lower_triangular_f32.c 504 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_solve_upper_triangular_f32.c 505 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_sub_f32.c 506 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_trans_f32.c 507 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_vec_mult_f32.c 508 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_qr_f32.c 509 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_householder_f32.c 510 ) 511 512 set(SRCQ31 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_add_q31.c 513 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_cmplx_mult_q31.c 514 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_cmplx_trans_q31.c 515 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_init_q31.c 516 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_mult_fast_q31.c 517 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_mult_opt_q31.c 518 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_mult_q31.c 519 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_scale_q31.c 520 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_sub_q31.c 521 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_trans_q31.c 522 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_vec_mult_q31.c 523 ) 524 525 set(SRCQ15 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_add_q15.c 526 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_cmplx_mult_q15.c 527 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_cmplx_trans_q15.c 528 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_init_q15.c 529 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_mult_fast_q15.c 530 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_mult_q15.c 531 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_scale_q15.c 532 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_sub_q15.c 533 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_trans_q15.c 534 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_vec_mult_q15.c 535 ) 536 537 set(SRCQ7 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_mult_q7.c 538 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_vec_mult_q7.c 539 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_trans_q7.c 540 ) 541 542 zephyr_library_sources(${SRCF64}) 543 zephyr_library_sources(${SRCF32}) 544 545 zephyr_library_sources(${SRCQ31}) 546 zephyr_library_sources(${SRCQ15}) 547 zephyr_library_sources(${SRCQ7}) 548 549 550 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 551 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_add_f16.c 552 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_cholesky_f16.c 553 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_cmplx_mult_f16.c 554 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_cmplx_trans_f16.c 555 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_init_f16.c 556 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_inverse_f16.c 557 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_mult_f16.c 558 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_scale_f16.c 559 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_solve_lower_triangular_f16.c 560 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_solve_upper_triangular_f16.c 561 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_sub_f16.c 562 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_trans_f16.c 563 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_vec_mult_f16.c 564 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_mat_qr_f16.c 565 ${CMSIS_DSP_DIR}/Source/MatrixFunctions/arm_householder_f16.c 566 ) 567 endif() 568 endif() 569 570 # Quaternion Math Functions 571 if (CONFIG_CMSIS_DSP_QUATERNIONMATH) 572 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/QuaternionMathFunctions/arm_quaternion_norm_f32.c) 573 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/QuaternionMathFunctions/arm_quaternion_inverse_f32.c) 574 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/QuaternionMathFunctions/arm_quaternion_conjugate_f32.c) 575 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/QuaternionMathFunctions/arm_quaternion_normalize_f32.c) 576 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/QuaternionMathFunctions/arm_quaternion_product_single_f32.c) 577 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/QuaternionMathFunctions/arm_quaternion_product_f32.c) 578 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/QuaternionMathFunctions/arm_quaternion2rotation_f32.c) 579 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/QuaternionMathFunctions/arm_rotation2quaternion_f32.c) 580 endif() 581 582 # Statistics Functions 583 if (CONFIG_CMSIS_DSP_STATISTICS) 584 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_entropy_f32.c) 585 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_entropy_f64.c) 586 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_kullback_leibler_f32.c) 587 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_kullback_leibler_f64.c) 588 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_logsumexp_dot_prod_f32.c) 589 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_logsumexp_f32.c) 590 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_max_f32.c) 591 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_max_f64.c) 592 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_max_no_idx_f32.c) 593 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_max_no_idx_f64.c) 594 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_min_no_idx_f32.c) 595 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_min_no_idx_f64.c) 596 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_max_q15.c) 597 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_max_q31.c) 598 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_max_q7.c) 599 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_max_no_idx_q31.c) 600 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_max_no_idx_q15.c) 601 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_max_no_idx_q7.c) 602 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_mean_f32.c) 603 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_mean_f64.c) 604 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_mean_q15.c) 605 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_mean_q31.c) 606 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_mean_q7.c) 607 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_min_f32.c) 608 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_min_f64.c) 609 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_min_q15.c) 610 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_min_q31.c) 611 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_min_q7.c) 612 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_min_no_idx_q31.c) 613 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_min_no_idx_q15.c) 614 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_min_no_idx_q7.c) 615 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_power_f32.c) 616 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_power_f64.c) 617 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_power_q15.c) 618 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_power_q31.c) 619 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_power_q7.c) 620 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_rms_f32.c) 621 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_rms_q15.c) 622 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_rms_q31.c) 623 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_std_f32.c) 624 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_std_f64.c) 625 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_std_q15.c) 626 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_std_q31.c) 627 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_var_f32.c) 628 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_var_f64.c) 629 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_var_q15.c) 630 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_var_q31.c) 631 632 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmax_f32.c) 633 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmax_f64.c) 634 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmax_q15.c) 635 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmax_q31.c) 636 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmax_q7.c) 637 638 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmin_f32.c) 639 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmin_f64.c) 640 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmin_q15.c) 641 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmin_q31.c) 642 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmin_q7.c) 643 644 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmax_no_idx_f32.c) 645 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmax_no_idx_f64.c) 646 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmax_no_idx_q15.c) 647 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmax_no_idx_q31.c) 648 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmax_no_idx_q7.c) 649 650 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmin_no_idx_f32.c) 651 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmin_no_idx_f64.c) 652 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmin_no_idx_q15.c) 653 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmin_no_idx_q31.c) 654 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmin_no_idx_q7.c) 655 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_mse_q7.c) 656 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_mse_q15.c) 657 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_mse_q31.c) 658 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_mse_f16.c) 659 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_mse_f32.c) 660 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_mse_f64.c) 661 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_accumulate_f64.c) 662 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_accumulate_f32.c) 663 664 665 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 666 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_max_f16.c) 667 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_min_f16.c) 668 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_mean_f16.c) 669 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_power_f16.c) 670 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_rms_f16.c) 671 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_std_f16.c) 672 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_var_f16.c) 673 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_entropy_f16.c) 674 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_kullback_leibler_f16.c) 675 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_logsumexp_dot_prod_f16.c) 676 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_logsumexp_f16.c) 677 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_max_no_idx_f16.c) 678 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_min_no_idx_f16.c) 679 680 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmax_f16.c) 681 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmin_f16.c) 682 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmax_no_idx_f16.c) 683 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_absmin_no_idx_f16.c) 684 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/StatisticsFunctions/arm_accumulate_f16.c) 685 endif() 686 endif() 687 688 # Support Functions 689 if (CONFIG_CMSIS_DSP_SUPPORT) 690 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_barycenter_f32.c 691 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_bitonic_sort_f32.c 692 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_bubble_sort_f32.c 693 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_copy_f32.c 694 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_copy_f64.c 695 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_copy_q15.c 696 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_copy_q31.c 697 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_copy_q7.c 698 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_f16_to_float.c 699 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_f16_to_q15.c 700 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_fill_f32.c 701 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_fill_f64.c 702 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_fill_q15.c 703 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_fill_q31.c 704 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_fill_q7.c 705 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_f64_to_float.c 706 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_f64_to_q31.c 707 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_f64_to_q15.c 708 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_f64_to_q7.c 709 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_float_to_f64.c 710 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_float_to_q15.c 711 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_float_to_q31.c 712 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_float_to_q7.c 713 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_heap_sort_f32.c 714 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_insertion_sort_f32.c 715 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_merge_sort_f32.c 716 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_merge_sort_init_f32.c 717 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_q15_to_f64.c 718 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_q15_to_float.c 719 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_q15_to_q31.c 720 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_q15_to_q7.c 721 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_q31_to_f64.c 722 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_q31_to_float.c 723 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_q31_to_q15.c 724 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_q31_to_q7.c 725 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_q7_to_f64.c 726 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_q7_to_float.c 727 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_q7_to_q15.c 728 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_q7_to_q31.c 729 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_quick_sort_f32.c 730 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_selection_sort_f32.c 731 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_sort_f32.c 732 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_sort_init_f32.c 733 ${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_weighted_average_f32.c 734 ) 735 736 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 737 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_copy_f16.c) 738 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_fill_f16.c) 739 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_f16_to_q15.c) 740 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_q15_to_f16.c) 741 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_float_to_f16.c) 742 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_f16_to_float.c) 743 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_weighted_average_f16.c) 744 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_barycenter_f16.c) 745 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_f16_to_f64.c) 746 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SupportFunctions/arm_f64_to_f16.c) 747 endif() 748 endif() 749 750 # SVM Functions 751 if (CONFIG_CMSIS_DSP_SVM) 752 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_linear_init_f32.c) 753 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_rbf_init_f32.c) 754 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_linear_predict_f32.c) 755 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_rbf_predict_f32.c) 756 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_polynomial_init_f32.c) 757 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_sigmoid_init_f32.c) 758 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_polynomial_predict_f32.c) 759 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_sigmoid_predict_f32.c) 760 761 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 762 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_linear_init_f16.c) 763 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_rbf_init_f16.c) 764 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_linear_predict_f16.c) 765 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_rbf_predict_f16.c) 766 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_polynomial_init_f16.c) 767 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_sigmoid_init_f16.c) 768 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_polynomial_predict_f16.c) 769 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/SVMFunctions/arm_svm_sigmoid_predict_f16.c) 770 endif() 771 endif() 772 773 # Transform Functions 774 if (CONFIG_CMSIS_DSP_TRANSFORM) 775 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_bitreversal.c) 776 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_bitreversal2.c) 777 778 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 779 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_bitreversal_f16.c) 780 endif() 781 782 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix2_f32.c) 783 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_f32.c) 784 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix8_f32.c) 785 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_f32.c) 786 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_init_f32.c) 787 788 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 789 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix2_f16.c) 790 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_f16.c) 791 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_f16.c) 792 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_init_f16.c) 793 endif() 794 795 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 796 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_init_f16.c) 797 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_f16.c) 798 endif() 799 800 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_f64.c) 801 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_init_f64.c) 802 803 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix2_q15.c) 804 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_q15.c) 805 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_q15.c) 806 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_init_q15.c) 807 808 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix2_q31.c) 809 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_q31.c) 810 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_q31.c) 811 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_init_q31.c) 812 813 814 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_dct4_f32.c) 815 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_dct4_init_f32.c) 816 817 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_init_f32.c) 818 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_f32.c) 819 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_init_f32.c) 820 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_f32.c) 821 822 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_dct4_q31.c) 823 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_dct4_init_q31.c) 824 825 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_init_q31.c) 826 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_q31.c) 827 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_q31.c) 828 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_init_q31.c) 829 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_init_q31.c) 830 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_q31.c) 831 832 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_dct4_init_q15.c) 833 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_dct4_q15.c) 834 835 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_init_q15.c) 836 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_q15.c) 837 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_q15.c) 838 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_init_q15.c) 839 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_init_q15.c) 840 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_q15.c) 841 842 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_fast_f32.c) 843 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_fast_init_f32.c) 844 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_f32.c) 845 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_init_f32.c) 846 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix8_f32.c) 847 848 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_fast_f64.c) 849 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_fast_init_f64.c) 850 851 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 852 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_fast_f16.c) 853 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_fast_init_f16.c) 854 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_f16.c) 855 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_init_f16.c) 856 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix8_f16.c) 857 endif() 858 859 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_init_f32.c) 860 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_f32.c) 861 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_init_f32.c) 862 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_f32.c) 863 864 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_init_q15.c) 865 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_q15.c) 866 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_q15.c) 867 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_init_q15.c) 868 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_q15.c) 869 870 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_init_q31.c) 871 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_rfft_q31.c) 872 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_q31.c) 873 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_init_q31.c) 874 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_q31.c) 875 876 if (WRAPPER) 877 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix2_init_q15.c) 878 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix2_init_q31.c) 879 endif() 880 881 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_init_q15.c) 882 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix4_init_q31.c) 883 884 885 # For scipy or wrappers or benchmarks 886 if (WRAPPER) 887 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix2_init_f32.c) 888 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 889 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_cfft_radix2_init_f16.c) 890 endif() 891 endif() 892 893 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_mfcc_init_f32.c) 894 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_mfcc_f32.c) 895 896 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_mfcc_init_q31.c) 897 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_mfcc_q31.c) 898 899 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_mfcc_init_q15.c) 900 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_mfcc_q15.c) 901 902 if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16)) 903 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_mfcc_init_f16.c) 904 zephyr_library_sources(${CMSIS_DSP_DIR}/Source/TransformFunctions/arm_mfcc_f16.c) 905 endif() 906 endif() 907 908 # Window Functions 909 if (CONFIG_CMSIS_DSP_WINDOW) 910 set(SRCF64 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_welch_f64.c 911 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_bartlett_f64.c 912 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hamming_f64.c 913 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hanning_f64.c 914 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall3_f64.c 915 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall4_f64.c 916 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall3a_f64.c 917 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall3b_f64.c 918 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall4a_f64.c 919 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_blackman_harris_92db_f64.c 920 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall4b_f64.c 921 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall4c_f64.c 922 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft90d_f64.c 923 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft95_f64.c 924 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft116d_f64.c 925 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft144d_f64.c 926 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft169d_f64.c 927 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft196d_f64.c 928 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft223d_f64.c 929 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft248d_f64.c 930 ) 931 932 set(SRCF32 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_welch_f32.c 933 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_bartlett_f32.c 934 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hamming_f32.c 935 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hanning_f32.c 936 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall3_f32.c 937 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall4_f32.c 938 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall3a_f32.c 939 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall3b_f32.c 940 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall4a_f32.c 941 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_blackman_harris_92db_f32.c 942 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall4b_f32.c 943 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_nuttall4c_f32.c 944 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft90d_f32.c 945 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft95_f32.c 946 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft116d_f32.c 947 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft144d_f32.c 948 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft169d_f32.c 949 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft196d_f32.c 950 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft223d_f32.c 951 ${CMSIS_DSP_DIR}/Source/WindowFunctions/arm_hft248d_f32.c 952 ) 953 954 zephyr_library_sources(${SRCF64}) 955 zephyr_library_sources(${SRCF32}) 956 endif() 957endif() 958