polars_compute/comparisons/
null.rs

1use arrow::array::{Array, NullArray};
2use arrow::bitmap::Bitmap;
3
4use super::{TotalEqKernel, TotalOrdKernel};
5
6impl TotalEqKernel for NullArray {
7    type Scalar = Box<dyn Array>;
8
9    fn tot_eq_kernel(&self, other: &Self) -> Bitmap {
10        assert!(self.len() == other.len());
11        Bitmap::new_with_value(true, self.len())
12    }
13
14    fn tot_ne_kernel(&self, other: &Self) -> Bitmap {
15        assert!(self.len() == other.len());
16        Bitmap::new_zeroed(self.len())
17    }
18
19    fn tot_eq_kernel_broadcast(&self, _other: &Self::Scalar) -> Bitmap {
20        todo!()
21    }
22
23    fn tot_ne_kernel_broadcast(&self, _other: &Self::Scalar) -> Bitmap {
24        todo!()
25    }
26}
27
28impl TotalOrdKernel for NullArray {
29    type Scalar = Box<dyn Array>;
30
31    fn tot_lt_kernel(&self, _other: &Self) -> Bitmap {
32        unimplemented!()
33    }
34
35    fn tot_le_kernel(&self, _other: &Self) -> Bitmap {
36        unimplemented!()
37    }
38
39    fn tot_lt_kernel_broadcast(&self, _other: &Self::Scalar) -> Bitmap {
40        unimplemented!()
41    }
42
43    fn tot_le_kernel_broadcast(&self, _other: &Self::Scalar) -> Bitmap {
44        unimplemented!()
45    }
46
47    fn tot_gt_kernel_broadcast(&self, _other: &Self::Scalar) -> Bitmap {
48        unimplemented!()
49    }
50
51    fn tot_ge_kernel_broadcast(&self, _other: &Self::Scalar) -> Bitmap {
52        unimplemented!()
53    }
54}