Skip to content

Commit ef4f905

Browse files
committed
interpdata type
1 parent b03c525 commit ef4f905

File tree

5 files changed

+24
-52
lines changed

5 files changed

+24
-52
lines changed

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,4 @@ name = "benchmark"
3030
harness = false
3131

3232
[features]
33-
default = ["serde"]
3433
serde = ["dep:serde", "ndarray/serde"]

src/lib.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,27 @@ impl<T> Interpolator<T> for Box<dyn Interpolator<T>> {
187187
}
188188
}
189189

190+
#[derive(Debug)]
191+
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
192+
#[cfg_attr(
193+
feature = "serde",
194+
serde(bound = "
195+
D: DataOwned,
196+
D::Elem: Serialize + DeserializeOwned,
197+
Dim<[usize; N]>: Serialize + DeserializeOwned,
198+
[ArrayBase<D, Ix1>; N]: Serialize + DeserializeOwned,
199+
")
200+
)]
201+
pub struct InterpData<D, const N: usize>
202+
where
203+
Dim<[Ix; N]>: Dimension,
204+
D: Data,
205+
D::Elem: Num + PartialOrd + Copy + Debug,
206+
{
207+
pub grid: [ArrayBase<D, Ix1>; N],
208+
pub values: ArrayBase<D, Dim<[Ix; N]>>,
209+
}
210+
190211
/// Extrapolation strategy
191212
///
192213
/// Controls what happens if supplied interpolant point

src/one/mod.rs

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,7 @@ mod strategies;
66

77
const N: usize = 1;
88

9-
#[derive(Debug)]
10-
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
11-
#[cfg_attr(
12-
feature = "serde",
13-
serde(bound = "
14-
D: DataOwned,
15-
D::Elem: Serialize + DeserializeOwned,
16-
")
17-
)]
18-
pub struct InterpData1D<D>
19-
where
20-
D: Data,
21-
D::Elem: Num + PartialOrd + Copy + Debug,
22-
{
23-
pub grid: [ArrayBase<D, Ix1>; N],
24-
pub values: ArrayBase<D, Ix1>,
25-
}
9+
pub type InterpData1D<D> = InterpData<D, N>;
2610
validate_impl!(InterpData1D<D>);
2711
impl<D> InterpData1D<D>
2812
where

src/three/mod.rs

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,7 @@ mod strategies;
66

77
const N: usize = 3;
88

9-
#[derive(Debug)]
10-
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
11-
#[cfg_attr(
12-
feature = "serde",
13-
serde(bound = "
14-
D: DataOwned,
15-
D::Elem: Serialize + DeserializeOwned,
16-
")
17-
)]
18-
pub struct InterpData3D<D>
19-
where
20-
D: Data,
21-
D::Elem: Num + PartialOrd + Copy + Debug,
22-
{
23-
pub grid: [ArrayBase<D, Ix1>; N],
24-
pub values: ArrayBase<D, Dim<[Ix; N]>>,
25-
}
9+
pub type InterpData3D<D> = InterpData<D, N>;
2610
validate_impl!(InterpData3D<D>);
2711
impl<D> InterpData3D<D>
2812
where

src/two/mod.rs

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,7 @@ mod strategies;
66

77
const N: usize = 2;
88

9-
#[derive(Debug)]
10-
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
11-
#[cfg_attr(
12-
feature = "serde",
13-
serde(bound = "
14-
D: DataOwned,
15-
D::Elem: Serialize + DeserializeOwned,
16-
")
17-
)]
18-
pub struct InterpData2D<D>
19-
where
20-
D: Data,
21-
D::Elem: Num + PartialOrd + Copy + Debug,
22-
{
23-
pub grid: [ArrayBase<D, Ix1>; N],
24-
pub values: ArrayBase<D, Ix2>,
25-
}
9+
pub type InterpData2D<D> = InterpData<D, N>;
2610
validate_impl!(InterpData2D<D>);
2711
impl<D> InterpData2D<D>
2812
where

0 commit comments

Comments
 (0)