1#![deny(missing_docs)]
3
4use ndarray::Array1;
5
6pub fn vec_to_array1<T>(v: Vec<T>) -> Array1<T> {
16 Array1::from(v)
17}
18
19pub fn array1_to_vec<T: Clone>(a: &Array1<T>) -> Vec<T> {
29 a.to_vec()
30}
31
32#[cfg(test)]
33mod tests {
34 use super::*;
35 use scir_core::assert_close;
36
37 #[test]
38 fn roundtrip_vec() {
39 let v = vec![1.0, 2.0, 3.0];
40 let arr = vec_to_array1(v.clone());
41 let back = array1_to_vec(&arr);
42 assert_close!(&v, &back, slice, tol = 0.0);
43 }
44
45 #[test]
46 fn roundtrip_array() {
47 let arr = Array1::from_vec(vec![1.0, 2.0, 3.0]);
48 let back = vec_to_array1(array1_to_vec(&arr));
49 assert_close!(&arr, &back, array, tol = 0.0);
50 }
51}