1919//! This specifically tests the append_to_builder function used in shuffle read path.
2020
2121use arrow:: array:: builder:: {
22- ArrayBuilder , Date32Builder , Float64Builder , Int32Builder , Int64Builder ,
23- TimestampMicrosecondBuilder ,
22+ Date32Builder , Float64Builder , Int32Builder , Int64Builder , TimestampMicrosecondBuilder ,
2423} ;
2524use arrow:: datatypes:: { DataType , TimeUnit } ;
2625use comet:: execution:: shuffle:: list:: { append_to_builder, SparkUnsafeArray } ;
@@ -35,7 +34,7 @@ const NUM_ELEMENTS: usize = 10000;
3534/// - element data: 4 bytes per element (i32)
3635fn create_spark_unsafe_array_i32 ( num_elements : usize , with_nulls : bool ) -> Vec < u8 > {
3736 // Header size: 8 (num_elements) + ceil(num_elements/64) * 8 (null bitset)
38- let null_bitset_words = ( num_elements + 63 ) / 64 ;
37+ let null_bitset_words = num_elements. div_ceil ( 64 ) ;
3938 let header_size = 8 + null_bitset_words * 8 ;
4039 let data_size = num_elements * 4 ; // i32 = 4 bytes
4140 let total_size = header_size + data_size;
@@ -69,7 +68,7 @@ fn create_spark_unsafe_array_i32(num_elements: usize, with_nulls: bool) -> Vec<u
6968
7069/// Create a SparkUnsafeArray in memory with i64 elements.
7170fn create_spark_unsafe_array_i64 ( num_elements : usize , with_nulls : bool ) -> Vec < u8 > {
72- let null_bitset_words = ( num_elements + 63 ) / 64 ;
71+ let null_bitset_words = num_elements. div_ceil ( 64 ) ;
7372 let header_size = 8 + null_bitset_words * 8 ;
7473 let data_size = num_elements * 8 ; // i64 = 8 bytes
7574 let total_size = header_size + data_size;
@@ -103,7 +102,7 @@ fn create_spark_unsafe_array_i64(num_elements: usize, with_nulls: bool) -> Vec<u
103102
104103/// Create a SparkUnsafeArray in memory with f64 elements.
105104fn create_spark_unsafe_array_f64 ( num_elements : usize , with_nulls : bool ) -> Vec < u8 > {
106- let null_bitset_words = ( num_elements + 63 ) / 64 ;
105+ let null_bitset_words = num_elements. div_ceil ( 64 ) ;
107106 let header_size = 8 + null_bitset_words * 8 ;
108107 let data_size = num_elements * 8 ; // f64 = 8 bytes
109108 let total_size = header_size + data_size;
0 commit comments