Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
        }