unopus/silk/
SigProc_FIX.rs

1#[inline]
2pub fn silk_ROR32(a32: i32, rot: i32) -> i32 {
3    let x: u32 = a32 as u32;
4    let r: u32 = rot as u32;
5    let m: u32 = -rot as u32;
6    if rot == 0 {
7        return a32;
8    } else if rot < 0 {
9        return (x << m | x >> (32u32).wrapping_sub(m)) as i32;
10    } else {
11        return (x << (32u32).wrapping_sub(r) | x >> r) as i32;
12    };
13}
14
15#[inline]
16pub fn silk_max_16(a: i16, b: i16) -> i16 {
17    a.max(b)
18}
19
20#[inline]
21pub fn silk_min_32(a: i32, b: i32) -> i32 {
22    a.min(b)
23}
24#[inline]
25pub fn silk_max_32(a: i32, b: i32) -> i32 {
26    a.max(b)
27}
28
29#[inline]
30pub fn silk_min_int(a: i32, b: i32) -> i32 {
31    a.min(b)
32}
33#[inline]
34pub fn silk_max_int(a: i32, b: i32) -> i32 {
35    a.max(b)
36}