1use crate::types::{Dims, Error, Result};
4
5pub fn reshape_s8(
7 input_dims: &Dims,
8 input: &[i8],
9 output_dims: &Dims,
10 output: &mut [i8],
11) -> Result<()> {
12 if input_dims.total_size() != output_dims.total_size() {
13 return Err(Error::ArgumentError);
14 }
15
16 let len = input_dims.total_size();
17 output[..len].copy_from_slice(&input[..len]);
18 Ok(())
19}
20
21#[cfg(test)]
22mod tests {
23 use super::*;
24
25 #[test]
26 fn test_reshape_s8() {
27 let in_dims = Dims::new(1, 2, 2, 1);
28 let input = [10i8, 20i8, 30i8, 40i8];
29
30 let out_dims = Dims::new(1, 1, 4, 1);
31 let mut output = [0i8; 4];
32
33 reshape_s8(&in_dims, &input, &out_dims, &mut output).unwrap();
34 assert_eq!(output, input);
35 }
36}