///|
fn main raise {
let readings = @h5.ArrayValue::from_signed(Simple([2, 3]), [
1L, 2L, 3L, 4L, 5L, 9007199254740993L,
])
let channels_first = readings.transpose([1, 0])
assert_eq(channels_first.signed_at(5), 9007199254740993L)
let joined = channels_first.concat_axis(channels_first, 1)
let doc = @h5.Document::new()
doc.add_dataset("/joined-channels", joined)
let restored = @h5.H5File::open(doc.encode()).read("/joined-channels")
assert_eq(restored.dataspace(), Simple([3, 4]))
assert_eq(restored.bytes(), joined.bytes())
println(
"HDF5 array adapter: channel-axis permutation and batch concatenation preserve exact Int64 data",
)
}