Create a List/LargeList Array of primitive values using a fixed seed See [`create_primitive_list_array_with_seed`] for details on arguments.
(
size: usize,
null_density: f32,
list_null_density: f32,
max_list_size: usize,
)
| 520 | /// |
| 521 | /// See [`create_primitive_list_array_with_seed`] for details on arguments. |
| 522 | pub fn create_primitive_list_array<O, T>( |
| 523 | size: usize, |
| 524 | null_density: f32, |
| 525 | list_null_density: f32, |
| 526 | max_list_size: usize, |
| 527 | ) -> GenericListArray<O> |
| 528 | where |
| 529 | O: OffsetSizeTrait, |
| 530 | T: ArrowPrimitiveType, |
| 531 | StandardUniform: Distribution<T::Native>, |
| 532 | { |
| 533 | let mut rng = seedable_rng(); |
| 534 | |
| 535 | let values = (0..size).map(|_| { |
| 536 | if rng.random::<f32>() < null_density { |
| 537 | None |
| 538 | } else { |
| 539 | let list_size = rng.random_range(0..=max_list_size); |
| 540 | let list_values: Vec<Option<T::Native>> = (0..list_size) |
| 541 | .map(|_| { |
| 542 | if rng.random::<f32>() < list_null_density { |
| 543 | None |
| 544 | } else { |
| 545 | Some(rng.random()) |
| 546 | } |
| 547 | }) |
| 548 | .collect(); |
| 549 | Some(list_values) |
| 550 | } |
| 551 | }); |
| 552 | |
| 553 | GenericListArray::<O>::from_iter_primitive::<T, _, _>(values) |
| 554 | } |
| 555 | |
| 556 | /// Create a ListViewArray of primitive values using a fixed seed |
| 557 | /// |
nothing calls this directly
no test coverage detected