pub fn take<I: Index>(values: &BooleanArray, indices: &PrimitiveArray<I>) -> BooleanArray {
    let data_type = values.data_type().clone();
    let indices_has_validity = indices.null_count() > 0;
    let values_has_validity = values.null_count() > 0;

    let (values, validity) = match (values_has_validity, indices_has_validity) {
        (false, false) => take_no_validity(values.values(), indices.values()),
        (true, false) => take_values_validity(values, indices.values()),
        (false, true) => take_indices_validity(values.values(), indices),
        (true, true) => take_values_indices_validity(values, indices),
    };

    BooleanArray::from_data(data_type, values, validity)
}
/// `take` implementation for boolean arrays
`take` implementation for boolean arrays
` take ` implementation for boolean arrays
pub fn take<I: Index>(values: &BooleanArray, indices: &PrimitiveArray<I>) -> BooleanArray {
    let data_type = values.data_type().clone();
    let indices_has_validity = indices.null_count() > 0;
    let values_has_validity = values.null_count() > 0;
    let (values, validity) = match (values_has_validity, indices_has_validity) {
        (false, false) => take_no_validity(values.values(), indices.values()),
        (true, false) => take_values_validity(values, indices.values()),
        (false, true) => take_indices_validity(values.values(), indices),
        (true, true) => take_values_indices_validity(values, indices),
    };
    BooleanArray::from_data(data_type, values, validity)
}
pub fn take < I : Index > ( values : & BooleanArray , indices : & PrimitiveArray < I > ) -> BooleanArray { let data_type = values . data_type ( ) . clone ( ) ; let indices_has_validity = indices . null_count ( ) > 0 ; let values_has_validity = values . null_count ( ) > 0 ; let ( values , validity ) = match ( values_has_validity , indices_has_validity ) { ( false , false ) => take_no_validity ( values . values ( ) , indices . values ( ) ) , ( true , false ) => take_values_validity ( values , indices . values ( ) ) , ( false , true ) => take_indices_validity ( values . values ( ) , indices ) , ( true , true ) => take_values_indices_validity ( values , indices ) , } ; BooleanArray :: from_data ( data_type , values , validity ) }
`take` implementation for boolean arrays
` take ` implementation for boolean arrays
values
&BooleanArray
indices
&PrimitiveArray<I>
values
&BooleanArray
indices
&PrimitiveArray<I>