nimphea/cmsis/dsp_fastmath

Source   Edit  

CMSIS-DSP Fast Math Functions

This module provides optimized approximations of standard math functions. These functions are typically 10-100x faster than standard library versions on Cortex-M7.

Procs

proc arm_cos_f32(x: float32_t): float32_t {.importc, header: "arm_math.h",
    ...raises: [], tags: [], forbids: [].}
Fast cosine approximation for f32 Source   Edit  
proc arm_cos_q15(x: q15_t): q15_t {.importc, header: "arm_math.h", ...raises: [],
                                    tags: [], forbids: [].}
Source   Edit  
proc arm_cos_q31(x: q31_t): q31_t {.importc, header: "arm_math.h", ...raises: [],
                                    tags: [], forbids: [].}
Source   Edit  
proc arm_sin_f32(x: float32_t): float32_t {.importc, header: "arm_math.h",
    ...raises: [], tags: [], forbids: [].}
Fast sine approximation for f32 Source   Edit  
proc arm_sin_q15(x: q15_t): q15_t {.importc, header: "arm_math.h", ...raises: [],
                                    tags: [], forbids: [].}
Source   Edit  
proc arm_sin_q31(x: q31_t): q31_t {.importc, header: "arm_math.h", ...raises: [],
                                    tags: [], forbids: [].}
Source   Edit  
proc arm_sqrt_f32(input: float32_t; pOut: ptr float32_t): ArmStatus {.importc,
    header: "arm_math.h", ...raises: [], tags: [], forbids: [].}
Optimized square root for f32 Source   Edit  
proc fastCos(x: float32): float32 {.inline, ...raises: [], tags: [], forbids: [].}
Optimized cosine approximation (f32) Source   Edit  
proc fastCos(x: q15_t): q15_t {.inline, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc fastCos(x: q31_t): q31_t {.inline, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc fastSin(x: float32): float32 {.inline, ...raises: [], tags: [], forbids: [].}
Optimized sine approximation (f32) Source   Edit  
proc fastSin(x: q15_t): q15_t {.inline, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc fastSin(x: q31_t): q31_t {.inline, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc fastSqrt(x: float32): float32 {.inline, ...raises: [], tags: [], forbids: [].}
Optimized square root (f32). Returns 0.0 for negative inputs. Source   Edit