rnn/batching/sequence_layout.rs
1pub fn max_sequence_len(sequences: &[&[u32]]) -> Option<usize> {
2 if sequences.is_empty() {
3 return None;
4 }
5 let mut max_len = 0usize;
6 for s in sequences {
7 if s.len() > max_len {
8 max_len = s.len();
9 }
10 }
11 Some(max_len)
12}
13
14pub fn sequence_lengths(sequences: &[&[u32]], out: &mut [usize]) -> bool {
15 if out.len() < sequences.len() {
16 return false;
17 }
18 for (i, seq) in sequences.iter().enumerate() {
19 out[i] = seq.len();
20 }
21 true
22}