Skip to content

Commit 70e2ece

Browse files
committed
Serialize true_count and density
Signed-off-by: blaginin <[email protected]>
1 parent 3c57503 commit 70e2ece

File tree

2 files changed

+3
-49
lines changed

2 files changed

+3
-49
lines changed

vortex-mask/src/lib.rs

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ mod intersect_by_rank;
1010
mod iter_bools;
1111
mod mask_mut;
1212

13-
#[cfg(feature = "serde")]
14-
mod serde;
1513
#[cfg(test)]
1614
mod tests;
1715

@@ -112,12 +110,15 @@ pub enum Mask {
112110

113111
/// Represents the values of a [`Mask`] that contains some true and some false elements.
114112
#[derive(Debug)]
113+
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
115114
pub struct MaskValues {
116115
buffer: BitBuffer,
117116

118117
// We cached the indices and slices representations, since it can be faster than iterating
119118
// the bit-mask over and over again.
119+
#[cfg_attr(feature = "serde", serde(skip))]
120120
indices: OnceLock<Vec<usize>>,
121+
#[cfg_attr(feature = "serde", serde(skip))]
121122
slices: OnceLock<Vec<(usize, usize)>>,
122123

123124
// Pre-computed values.
@@ -126,27 +127,6 @@ pub struct MaskValues {
126127
density: f64,
127128
}
128129

129-
impl MaskValues {
130-
#[cfg(feature = "serde")]
131-
pub(crate) fn from_buffer(buffer: BitBuffer) -> Self {
132-
let count = buffer.true_count();
133-
Self::from_buffer_with_counts(buffer, count)
134-
}
135-
136-
#[cfg(feature = "serde")]
137-
fn from_buffer_with_counts(buffer: BitBuffer, true_count: usize) -> Self {
138-
let len = buffer.len();
139-
140-
Self {
141-
buffer,
142-
indices: Default::default(),
143-
slices: Default::default(),
144-
true_count,
145-
density: true_count as f64 / len as f64,
146-
}
147-
}
148-
}
149-
150130
impl Mask {
151131
/// Create a new Mask where all values are set.
152132
#[inline]

vortex-mask/src/serde.rs

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)