Skip to content

Commit

Permalink
check for bad baseline_idxs in
Browse files Browse the repository at this point in the history
  • Loading branch information
d3v-null committed May 10, 2024
1 parent 0e24458 commit 993238e
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,8 @@ impl MwaObsContext {
delays: meta_ctx.delays.clone(),
};

for (ant, mut input, number, receiver, mut slot, mut length) in izip!(
#[allow(unused_mut)]
for (ant, mut input, mut number, mut receiver, mut slot, mut length) in izip!(
ants,
result.ant_inputs.outer_iter_mut(),
result.ant_numbers.iter_mut(),
Expand Down
23 changes: 23 additions & 0 deletions src/selection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,16 @@ impl VisSelection {
});
};

let max_bl_idx = corr_ctx.metafits_context.baselines.len();
// check all selected baseline idxs are < max_bl_idx
if self.baseline_idxs.iter().any(|&idx| idx >= max_bl_idx) {
return Err(SelectionError::BadBaselineIdx {
function: "VisSelection::read_mwalib".to_string(),
expected: format!(" < {max_bl_idx}"),
received: format!("{:?}", self.baseline_idxs.clone()),
});
}

// since we are using read_by_baseline_into_buffer, the visibilities are read in order:
// baseline,frequency,pol,r,i

Expand Down Expand Up @@ -650,6 +660,19 @@ mod tests {
);
}

#[test]
fn test_read_mwalib_bad_baseline_idxs() {
let corr_ctx = get_mwax_context();
let mut vis_sel = VisSelection::from_mwalib(&corr_ctx).unwrap();
vis_sel.baseline_idxs = vec![99999999];
// Create a blank array to store flags and visibilities
let fine_chans_per_coarse = corr_ctx.metafits_context.num_corr_fine_chans_per_coarse;
let mut flag_array = vis_sel.allocate_flags(fine_chans_per_coarse).unwrap();
let mut jones_array = vis_sel.allocate_jones(fine_chans_per_coarse).unwrap();
// read visibilities out of the gpubox files
assert!(vis_sel.read_mwalib(&corr_ctx, jones_array.view_mut(), flag_array.view_mut()).is_err());
}

#[test]
#[allow(clippy::unnecessary_cast)]
fn test_read_mwalib_mwa_legacy() {
Expand Down

0 comments on commit 993238e

Please sign in to comment.