11// SPDX-License-Identifier: Apache-2.0
22// SPDX-FileCopyrightText: Copyright the Vortex contributors
33
4+ pub ( crate ) use cast:: * ;
5+ pub ( crate ) use compare:: * ;
6+ pub ( crate ) use fill_null:: * ;
7+ pub ( crate ) use filter:: * ;
8+ pub ( crate ) use mask:: * ;
9+ pub ( crate ) use min_max:: * ;
10+ pub ( crate ) use scalar_at:: * ;
11+ pub ( crate ) use search_sorted:: * ;
12+ pub ( crate ) use slice:: * ;
13+ pub use sort:: sort_canonical_array;
14+ pub ( crate ) use sum:: * ;
15+ pub ( crate ) use take:: * ;
16+
417mod cast;
518mod compare;
619mod fill_null;
@@ -20,43 +33,45 @@ use std::ops::Range;
2033use arbitrary:: Arbitrary ;
2134use arbitrary:: Error :: EmptyChoose ;
2235use arbitrary:: Unstructured ;
23- pub ( crate ) use cast:: * ;
24- pub ( crate ) use compare:: * ;
25- pub ( crate ) use fill_null:: * ;
26- pub ( crate ) use filter:: * ;
2736use itertools:: Itertools ;
28- pub ( crate ) use mask:: * ;
29- pub ( crate ) use min_max:: * ;
30- pub ( crate ) use scalar_at:: * ;
31- pub ( crate ) use search_sorted:: * ;
32- pub ( crate ) use slice:: * ;
33- pub use sort:: sort_canonical_array;
3437use strum:: EnumCount ;
3538use strum:: EnumDiscriminants ;
3639use strum:: EnumIter ;
3740use strum:: IntoEnumIterator ;
38- pub ( crate ) use sum:: * ;
39- pub ( crate ) use take:: * ;
4041use tracing:: debug;
4142use vortex_array:: ArrayRef ;
4243use vortex_array:: DynArray ;
4344use vortex_array:: IntoArray ;
45+ use vortex_array:: arrays:: ConstantArray ;
4446use vortex_array:: arrays:: PrimitiveArray ;
4547use vortex_array:: arrays:: arbitrary:: ArbitraryArray ;
48+ use vortex_array:: builtins:: ArrayBuiltins ;
4649use vortex_array:: compute:: MinMaxResult ;
50+ use vortex_array:: compute:: min_max;
51+ use vortex_array:: compute:: sum;
4752use vortex_array:: dtype:: DType ;
4853use vortex_array:: dtype:: Nullability ;
4954use vortex_array:: scalar:: Scalar ;
5055use vortex_array:: scalar:: arbitrary:: random_scalar;
5156use vortex_array:: scalar_fn:: fns:: operators:: CompareOperator ;
57+ use vortex_array:: scalar_fn:: fns:: operators:: Operator ;
5258use vortex_array:: search_sorted:: SearchResult ;
59+ use vortex_array:: search_sorted:: SearchSorted ;
5360use vortex_array:: search_sorted:: SearchSortedSide ;
5461use vortex_btrblocks:: BtrBlocksCompressor ;
62+ use vortex_btrblocks:: BtrBlocksCompressorBuilder ;
63+ use vortex_btrblocks:: FloatCode ;
64+ use vortex_btrblocks:: IntCode ;
65+ use vortex_btrblocks:: StringCode ;
5566use vortex_error:: VortexExpect ;
5667use vortex_error:: vortex_panic;
5768use vortex_mask:: Mask ;
5869use vortex_utils:: aliases:: hash_set:: HashSet ;
5970
71+ use crate :: error:: Backtrace ;
72+ use crate :: error:: VortexFuzzError ;
73+ use crate :: error:: VortexFuzzResult ;
74+
6075#[ derive( Debug ) ]
6176pub struct FuzzArrayAction {
6277 pub array : ArrayRef ,
@@ -518,11 +533,6 @@ fn random_action_from_list(
518533/// Compress an array using the given strategy.
519534#[ cfg( feature = "zstd" ) ]
520535pub fn compress_array ( array : & ArrayRef , strategy : CompressorStrategy ) -> ArrayRef {
521- use vortex_btrblocks:: BtrBlocksCompressorBuilder ;
522- use vortex_btrblocks:: FloatCode ;
523- use vortex_btrblocks:: IntCode ;
524- use vortex_btrblocks:: StringCode ;
525-
526536 match strategy {
527537 CompressorStrategy :: Default => BtrBlocksCompressor :: default ( )
528538 . compress ( array)
@@ -552,12 +562,7 @@ pub fn compress_array(array: &ArrayRef, _strategy: CompressorStrategy) -> ArrayR
552562/// - `Ok(false)` - reject from corpus
553563/// - `Err(_)` - a bug was found
554564#[ allow( clippy:: result_large_err) ]
555- pub fn run_fuzz_action ( fuzz_action : FuzzArrayAction ) -> crate :: error:: VortexFuzzResult < bool > {
556- use vortex_array:: arrays:: ConstantArray ;
557- use vortex_array:: builtins:: ArrayBuiltins ;
558- use vortex_array:: compute:: min_max;
559- use vortex_array:: compute:: sum;
560- use vortex_array:: scalar_fn:: fns:: operators:: Operator ;
565+ pub fn run_fuzz_action ( fuzz_action : FuzzArrayAction ) -> VortexFuzzResult < bool > {
561566 let FuzzArrayAction { array, actions } = fuzz_action;
562567 let mut current_array = array. to_array ( ) ;
563568
@@ -675,12 +680,7 @@ fn assert_search_sorted(
675680 side : SearchSortedSide ,
676681 expected : SearchResult ,
677682 step : usize ,
678- ) -> crate :: error:: VortexFuzzResult < ( ) > {
679- use vortex_array:: search_sorted:: SearchSorted ;
680-
681- use crate :: error:: Backtrace ;
682- use crate :: error:: VortexFuzzError ;
683-
683+ ) -> VortexFuzzResult < ( ) > {
684684 let search_result = array
685685 . search_sorted ( & s, side)
686686 . map_err ( |e| VortexFuzzError :: VortexError ( e, Backtrace :: capture ( ) ) ) ?;
@@ -701,14 +701,7 @@ fn assert_search_sorted(
701701
702702/// Assert two arrays are equal.
703703#[ allow( clippy:: result_large_err) ]
704- pub fn assert_array_eq (
705- lhs : & ArrayRef ,
706- rhs : & ArrayRef ,
707- step : usize ,
708- ) -> crate :: error:: VortexFuzzResult < ( ) > {
709- use crate :: error:: Backtrace ;
710- use crate :: error:: VortexFuzzError ;
711-
704+ pub fn assert_array_eq ( lhs : & ArrayRef , rhs : & ArrayRef , step : usize ) -> VortexFuzzResult < ( ) > {
712705 if lhs. dtype ( ) != rhs. dtype ( ) {
713706 return Err ( VortexFuzzError :: DTypeMismatch (
714707 lhs. clone ( ) ,
@@ -749,14 +742,7 @@ pub fn assert_array_eq(
749742
750743/// Assert two scalars are equal.
751744#[ allow( clippy:: result_large_err) ]
752- pub fn assert_scalar_eq (
753- lhs : & Scalar ,
754- rhs : & Scalar ,
755- step : usize ,
756- ) -> crate :: error:: VortexFuzzResult < ( ) > {
757- use crate :: error:: Backtrace ;
758- use crate :: error:: VortexFuzzError ;
759-
745+ pub fn assert_scalar_eq ( lhs : & Scalar , rhs : & Scalar , step : usize ) -> VortexFuzzResult < ( ) > {
760746 if lhs != rhs {
761747 return Err ( VortexFuzzError :: ScalarMismatch (
762748 lhs. clone ( ) ,
@@ -774,10 +760,7 @@ pub fn assert_min_max_eq(
774760 lhs : & Option < MinMaxResult > ,
775761 rhs : & Option < MinMaxResult > ,
776762 step : usize ,
777- ) -> crate :: error:: VortexFuzzResult < ( ) > {
778- use crate :: error:: Backtrace ;
779- use crate :: error:: VortexFuzzError ;
780-
763+ ) -> VortexFuzzResult < ( ) > {
781764 if lhs != rhs {
782765 return Err ( VortexFuzzError :: MinMaxMismatch (
783766 lhs. clone ( ) ,
0 commit comments