pub fn take_bool_iter<I: IntoIterator<Item = usize>>(
    arr: &BooleanArray,
    indices: I,
) -> Arc<BooleanArray> {
    let iter = indices.into_iter().map(|idx| {
        if arr.is_null(idx) {
            None
        } else {
            Some(arr.value(idx))
        }
    });

    Arc::new(iter.collect())
}
/// Take kernel for single chunk and an iterator as index that does bound checks.
Take kernel for single chunk and an iterator as index that does bound checks.
Take kernel for single chunk and an iterator as index that does bound checks .
pub fn take_bool_iter<I: IntoIterator<Item = usize>>(
    arr: &BooleanArray,
    indices: I,
) -> Arc<BooleanArray> {
    let iter = indices.into_iter().map(|idx| {
        if arr.is_null(idx) {
            None
        } else {
            Some(arr.value(idx))
        }
    });
    Arc::new(iter.collect())
}
pub fn take_bool_iter < I : IntoIterator < Item = usize > > ( arr : & BooleanArray , indices : I , ) -> Arc < BooleanArray > { let iter = indices . into_iter ( ) . map ( | idx | { if arr . is_null ( idx ) { None } else { Some ( arr . value ( idx ) ) } } ) ; Arc :: new ( iter . collect ( ) ) }
Take kernel for single chunk and an iterator as index that does bound checks.
Take kernel for single chunk and an iterator as index that does bound checks .
arr
&BooleanArray
indices
I
arr
&BooleanArray
indices
I