Sequence ToI16

std/conversion/vector/u32::ToI16


Parameters

↳ var truncate: bool = true
↳ var or_default: i16 = 0

Inputs

value: Stream<Vec<u32>>

Outputs

↦ value: Stream<Vec<i16>>


Convert stream of Vec<u32> into Vec<i16> one.

Vec<u32> gets converted into Vec<i16>, and the resulting vectors are send through stream in continuity.

As this conversion might be lossy (every possible u32 value cannot fit into i16), truncate allows value to be truncated to fit into a i16, and or_default set the value that is assigned when a u32 is out of range for i16 and truncation not allowed.

Truncation happens on the binary level, thus: 10010110 (150 if unsigned, -106 if signed) → 0110 (6).