Livt packages
Livt.Signal
Version 0.1.1
Q1.15 sample streams, filters, windows, rate conversion, FFTs, oscillators, and mixers for Livt.
Published files (80)
tests/stream/Q15SampleEncodingTest.lvt
namespace Livt.Signal.Stream
/**
* Verifies exact signed Q1.15 transport conversion and saturating encoding.
*/
@Test
component Q15SampleEncodingTest
{
/**
* Preserves every representative signed boundary during decode and encode.
*/
@Test
fn PreservesSignedBoundaries()
{
assert Q15SampleEncoding.Decode(0x8000) == -32768
assert Q15SampleEncoding.Decode(0xFFFF) == -1
assert Q15SampleEncoding.Decode(0x0000) == 0
assert Q15SampleEncoding.Decode(0x0001) == 1
assert Q15SampleEncoding.Decode(0x7FFF) == 32767
assert Q15SampleEncoding.EncodeSaturating(-32769) == 0x8000
assert Q15SampleEncoding.EncodeSaturating(-32768) == 0x8000
assert Q15SampleEncoding.EncodeSaturating(-1) == 0xFFFF
assert Q15SampleEncoding.EncodeSaturating(0) == 0x0000
assert Q15SampleEncoding.EncodeSaturating(1) == 0x0001
assert Q15SampleEncoding.EncodeSaturating(32767) == 0x7FFF
assert Q15SampleEncoding.EncodeSaturating(32768) == 0x7FFF
}
}