tenso-rs 0.0.1

N Dimensional Tensors in Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use num_traits::{one, Float, FloatConst};

// By Definition of Normalized Sinc Function:
// sinc(x) = sin(pi * x) / (pi * x) for x != 0
// sinc(0) = 1
pub(crate) fn sinc<T: Float + FloatConst>(x: T) -> T {
    if x.is_zero() {
        one::<T>()
    } else {
        let inner: T = <T as FloatConst>::PI() * x;
        inner.sin() / inner
    }
}