public void encodeDecodePic5() { Random random = new Random(); int n = 1000; double[] ics = new double[n]; for (int i = 0; i < n; i++) { ics[i] = Math.Pow(10, 6 * random.NextDouble()); } byte[] encoded = new byte[n * 5]; double[] decoded = new double[n]; double[] firstDecoded = new double[n]; int encodedBytes = MSNumpress.encodePic(ics, n, encoded); int decodedDoubles = MSNumpress.decodePic(encoded, encodedBytes, decoded); for (int i = 0; i < n; i++) { firstDecoded[i] = decoded[i]; } for (int i = 0; i < 5; i++) { MSNumpress.encodePic(decoded, n, encoded); MSNumpress.decodePic(encoded, encodedBytes, decoded); } Assert.AreEqual(n, decodedDoubles); for (int i = 0; i < n; i++) { Assert.AreEqual(firstDecoded[i], decoded[i], double.Epsilon); } }
public void encodeDecodePic() { Random random = new Random(); int n = 1000; double[] ics = new double[n]; for (int i = 0; i < n; i++) { ics[i] = Math.Pow(10, 6 * random.NextDouble()); } byte[] encoded = new byte[n * 5]; int encodedBytes = MSNumpress.encodePic(ics, n, encoded); double[] decoded = new double[n]; int decodedDoubles = MSNumpress.decodePic(encoded, encodedBytes, decoded); Assert.AreEqual(n, decodedDoubles); for (int i = 0; i < n; i++) { Assert.AreEqual(ics[i], decoded[i], 0.5); } }