@@ -207,7 +207,7 @@ impl ArrayGenerator for NullGenerator {
207207 }
208208 } else {
209209 let array_len = array. len ( ) ;
210- let num_validity_bytes = ( array_len + 7 ) / 8 ;
210+ let num_validity_bytes = array_len. div_ceil ( 8 ) ;
211211 let mut null_count = 0 ;
212212 // Sampling the RNG once per bit is kind of slow so we do this to sample once
213213 // per byte. We only get 8 bits of RNG resolution but that should be good enough.
@@ -618,7 +618,7 @@ impl ArrayGenerator for RandomBooleanGenerator {
618618 length : RowCount ,
619619 rng : & mut rand_xoshiro:: Xoshiro256PlusPlus ,
620620 ) -> Result < Arc < dyn arrow_array:: Array > , ArrowError > {
621- let num_bytes = ( length. 0 + 7 ) / 8 ;
621+ let num_bytes = length. 0 . div_ceil ( 8 ) ;
622622 let mut bytes = vec ! [ 0 ; num_bytes as usize ] ;
623623 rng. fill_bytes ( & mut bytes) ;
624624 let bytes = BooleanBuffer :: new ( Buffer :: from ( bytes) , 0 , length. 0 as usize ) ;
@@ -822,9 +822,10 @@ impl ArrayGenerator for RandomBinaryGenerator {
822822 }
823823 let bytes = Buffer :: from ( bytes) ;
824824 if self . is_large {
825- let offsets = OffsetBuffer :: from_lengths (
826- iter:: repeat ( self . bytes_per_element . 0 as usize ) . take ( length. 0 as usize ) ,
827- ) ;
825+ let offsets = OffsetBuffer :: from_lengths ( iter:: repeat_n (
826+ self . bytes_per_element . 0 as usize ,
827+ length. 0 as usize ,
828+ ) ) ;
828829 if self . scale_to_utf8 {
829830 // This is safe because we are only using printable characters
830831 unsafe {
@@ -840,9 +841,10 @@ impl ArrayGenerator for RandomBinaryGenerator {
840841 }
841842 }
842843 } else {
843- let offsets = OffsetBuffer :: from_lengths (
844- iter:: repeat ( self . bytes_per_element . 0 as usize ) . take ( length. 0 as usize ) ,
845- ) ;
844+ let offsets = OffsetBuffer :: from_lengths ( iter:: repeat_n (
845+ self . bytes_per_element . 0 as usize ,
846+ length. 0 as usize ,
847+ ) ) ;
846848 if self . scale_to_utf8 {
847849 // This is safe because we are only using printable characters
848850 unsafe {
@@ -1047,7 +1049,7 @@ impl<T: ByteArrayType> ArrayGenerator for FixedBinaryGenerator<T> {
10471049 . copied ( ) ,
10481050 ) ) ;
10491051 let offsets =
1050- OffsetBuffer :: from_lengths ( iter:: repeat ( self . value . len ( ) ) . take ( length. 0 as usize ) ) ;
1052+ OffsetBuffer :: from_lengths ( iter:: repeat_n ( self . value . len ( ) , length. 0 as usize ) ) ;
10511053 Ok ( Arc :: new ( arrow_array:: GenericByteArray :: < T > :: new (
10521054 offsets, bytes, None ,
10531055 ) ) )
0 commit comments