pub struct KernelParamSet<'a> { /* private fields */ }Expand description
Utility struct for holding and retrieving kernel parameters
Implementations§
Source§impl KernelParamSet<'_>
 
impl KernelParamSet<'_>
Sourcepub const fn real_component(&self, index: usize) -> f64
 
pub const fn real_component(&self, index: usize) -> f64
Real component of the index kernel
Examples found in repository?
examples/kernel_data.rs (line 31)
6fn main() -> std::io::Result<()> {
7    let mut args = env::args();
8    args.next();
9    let out_dir = args.next().unwrap_or("plots".to_string());
10
11    for (p, params) in [
12        KERNEL1_PARAM_SET,
13        KERNEL2_PARAM_SET,
14        KERNEL3_PARAM_SET,
15        KERNEL4_PARAM_SET,
16        KERNEL5_PARAM_SET,
17        KERNEL6_PARAM_SET,
18        KERNEL7_PARAM_SET,
19        KERNEL8_PARAM_SET,
20        KERNEL9_PARAM_SET,
21    ]
22    .iter()
23    .enumerate()
24    {
25        for kernel_size in [1, 5, 10, 50, 100] {
26            let kernels = kernel_gaussian_components(params, kernel_size as f64);
27
28            let mut output = vec![0.0; kernels[0].len()];
29            for (n, kernel) in kernels.iter().enumerate() {
30                for (m, k) in kernel.iter().enumerate() {
31                    output[m] += params.real_component(n) * k.re + params.imag_component(n) * k.im;
32                }
33
34                let mut file = File::create(format!("{}/{}_{}.json", out_dir, p + 1, kernel_size))?;
35                write!(file, "{:?}", output)?;
36            }
37        }
38    }
39
40    Ok(())
41}Sourcepub const fn imag_component(&self, index: usize) -> f64
 
pub const fn imag_component(&self, index: usize) -> f64
Imaginary component of the index kernel
Examples found in repository?
examples/kernel_data.rs (line 31)
6fn main() -> std::io::Result<()> {
7    let mut args = env::args();
8    args.next();
9    let out_dir = args.next().unwrap_or("plots".to_string());
10
11    for (p, params) in [
12        KERNEL1_PARAM_SET,
13        KERNEL2_PARAM_SET,
14        KERNEL3_PARAM_SET,
15        KERNEL4_PARAM_SET,
16        KERNEL5_PARAM_SET,
17        KERNEL6_PARAM_SET,
18        KERNEL7_PARAM_SET,
19        KERNEL8_PARAM_SET,
20        KERNEL9_PARAM_SET,
21    ]
22    .iter()
23    .enumerate()
24    {
25        for kernel_size in [1, 5, 10, 50, 100] {
26            let kernels = kernel_gaussian_components(params, kernel_size as f64);
27
28            let mut output = vec![0.0; kernels[0].len()];
29            for (n, kernel) in kernels.iter().enumerate() {
30                for (m, k) in kernel.iter().enumerate() {
31                    output[m] += params.real_component(n) * k.re + params.imag_component(n) * k.im;
32                }
33
34                let mut file = File::create(format!("{}/{}_{}.json", out_dir, p + 1, kernel_size))?;
35                write!(file, "{:?}", output)?;
36            }
37        }
38    }
39
40    Ok(())
41}Auto Trait Implementations§
impl<'a> Freeze for KernelParamSet<'a>
impl<'a> RefUnwindSafe for KernelParamSet<'a>
impl<'a> Send for KernelParamSet<'a>
impl<'a> Sync for KernelParamSet<'a>
impl<'a> Unpin for KernelParamSet<'a>
impl<'a> UnwindSafe for KernelParamSet<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more