pub fn troika_var_rounds(out_buf: &mut [Trit], in_buf: &[Trit], num_rounds: usize) {
    assert!(num_rounds <= NUM_MAX_ROUNDS);

    let out_len = out_buf.len();
    let in_len = in_buf.len();
    let mut state = [0u8; STATE_SIZE];

    troika_absorb(&mut state, TROIKA_RATE, in_buf, in_len, num_rounds);
    troika_squeeze(out_buf, out_len, TROIKA_RATE, &mut state, num_rounds);
}
/// Troika with variable number of rounds.
Troika with variable number of rounds.
Troika with variable number of rounds .
pub fn troika_var_rounds(out_buf: &mut [Trit], in_buf: &[Trit], num_rounds: usize) {
    assert!(num_rounds <= NUM_MAX_ROUNDS);
    let out_len = out_buf.len();
    let in_len = in_buf.len();
    let mut state = [0u8; STATE_SIZE];
    troika_absorb(&mut state, TROIKA_RATE, in_buf, in_len, num_rounds);
    troika_squeeze(out_buf, out_len, TROIKA_RATE, &mut state, num_rounds);
}
pub fn troika_var_rounds ( out_buf : & mut [ Trit ] , in_buf : & [ Trit ] , num_rounds : usize ) { assert ! ( num_rounds NUM_MAX_ROUNDS ) ; let out_len = out_buf . len ( ) ; let in_len = in_buf . len ( ) ; let mut state = [ 0u8 ; STATE_SIZE ] ; troika_absorb ( & mut state , TROIKA_RATE , in_buf , in_len , num_rounds ) ; troika_squeeze ( out_buf , out_len , TROIKA_RATE , & mut state , num_rounds ) ; }
Troika with variable number of rounds.
Troika with variable number of rounds .
out_buf
&mut [Trit]
in_buf
&[Trit]
num_rounds
usize
out_buf
&mut [Trit]
in_buf
&[Trit]
num_rounds
usize