1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use core::marker::PhantomData;
use num::complex::ComplexFloat;
use crate::quantities::{ListOrSingle, MaybeList};
moddef::moddef!(
mod {
debug
}
);
#[derive(Clone, Copy)]
pub struct Ar<T, A, AV>
where
T: ComplexFloat,
A: MaybeList<T>,
AV: ListOrSingle<(A, T::Real)>
{
pub av: AV,
phantom: PhantomData<(A, T)>
}
impl<T, A, AV> Ar<T, A, AV>
where
T: ComplexFloat,
A: MaybeList<T>,
AV: ListOrSingle<(A, T::Real)>
{
pub fn new(av: AV) -> Self
{
Self {
av,
phantom: PhantomData
}
}
}