Crate integer_array

Source
Expand description

§Integer-Array

No-STD fixed-point fixed-size array for Rust.

The library lets the user declare arrays with traits that simplify the writhing of DSP-code.

It utilizes the fixed library to allow flexibility in fixed point sizes and precisions.

This is an experimental library for no-std DSP. Expect breaking changes.

§Use example

use integer_array as ia;
use integer_array::trait_definitions::*;
use fixed::{types::extra::U20, FixedI32};
 
// Define an array type of size 4, and implemnets a buch of traits to it.
ia::declare_array_real!( Arr4, 4, FixedI32<U20> );
 
// Create the actual array.
let mut x = Arr4::new_from_i32(66);
assert_eq!(x.as_array_i32(), [66, 66, 66, 66]);
 
// Do some math with the arrays.
let y     = Arr4::new_from_f32( 2.0 );
x = x/y;
 
assert_eq!(x.front(), 33);

§How to use

See the macro documentation for the implemented traits.

Modules§

complex
real
trait_definitions
utility

Macros§

declare_array_complex
This macro implements a type which consists of an array of complex fixed-point numberts of size N. Complete with the traits shown below.
declare_array_real
This macro implements a type which consists of an array of fixed-point numberts of size N. Complete with the traits shown below.