use crate::image::ImageDimensions;
pub(super) fn is_overlapping_ranges(
source: u64,
source_size: u64,
destination: u64,
destination_size: u64,
) -> bool {
(destination < source + source_size) && (source < destination + destination_size)
}
pub(super) fn is_overlapping_regions(
source_offset: [i32; 3],
source_extent: [u32; 3],
destination_offset: [i32; 3],
destination_extent: [u32; 3],
image_dim: ImageDimensions,
) -> bool {
let dim = match image_dim {
ImageDimensions::Dim1d { .. } => 1,
ImageDimensions::Dim2d { .. } => 2,
ImageDimensions::Dim3d { .. } => 3,
};
let mut result = true;
for i in 0..dim {
result &= is_overlapping_ranges(
source_offset[i] as u64,
source_extent[i] as u64,
destination_offset[i] as u64,
destination_extent[i] as u64,
);
}
result
}