public void f32Bits() { var writer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >(); writer.f32(1f, 0f, 1f, 1); var data = writer.ToArray(); var reader = new BitBufferReader <SevenBitDecoding <u32ArrayMemory> >(); reader.CopyFrom(data); Assert.AreEqual(1, reader.f32(0f, 1f, 1)); }
public void f32MinMaxRequired() { var writer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >(); writer.f32(1234.5f, 0, 12345.6f, 0.01f); var data = writer.ToArray(); var reader = new BitBufferReader <SevenBitDecoding <u32ArrayMemory> >(); reader.CopyFrom(data); Assert.AreEqual(1234.5f, reader.f32(0, 12345.6f, 0.01f)); }
public void f32ReadWrite() { var writer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >(); writer.f32(123.456f); writer.Align(); var data = writer.ToArray(); var reader = new BitBufferReader <SevenBitDecoding <u32ArrayMemory> >(); reader.CopyFrom(data); Assert.AreEqual(123.456f, reader.f32Peek()); Assert.AreEqual(123.456f, reader.f32()); }
public void AngleQuantization() { var buffer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >(); var angle = 35901u; buffer.u32(angle, 0, 36000); Assert.AreEqual(16, buffer.BitsWritten); var data = buffer.ToArray(); var reader = new BitBufferReader <SevenBitDecoding <u32ArrayMemory> >(); reader.CopyFrom(data); var result = reader.f32(0f, 360f, 0.01f); Assert.AreEqual(359.01f, result, 2); }
public void AngleZero() { var buffer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >(); var angle = 0f; buffer.f32(angle); Assert.AreEqual(32, buffer.BitsWritten); var data = buffer.ToArray(); var reader = new BitBufferReader <SevenBitDecoding <u32ArrayMemory> >(); reader.CopyFrom(data); var result = reader.f32(); Assert.AreEqual(0f, result, 1); }