コード例 #1
0
ファイル: ExhaustiveTests.cs プロジェクト: wingsking/Jil
        public void AllFloats_Dynamic()
        {
            var e           = _AllFloats();
            var partitioner = new _AllFloatsPartitioner(e);

            var options = new ParallelOptions();

            options.MaxDegreeOfParallelism = Environment.ProcessorCount - 1;

            Parallel.ForEach(
                partitioner,
                options,
                part =>
            {
                try
                {
                    DeserializeDynamicTests.CheckFloat(part);
                }
                catch (Exception x)
                {
                    throw new Exception(part.AsString, x);
                }
            }
                );
        }
コード例 #2
0
ファイル: ExhaustiveTests.cs プロジェクト: wingsking/Jil
        static IEnumerable <DeserializeDynamicTests._AllFloatsStruct> _AllFloats()
        {
            var byteArr = new byte[4];

            for (ulong i = 0; i <= uint.MaxValue; i++)
            {
                var f = DeserializeDynamicTests.ULongToFloat(i, byteArr);

                if (float.IsNaN(f) || float.IsInfinity(f))
                {
                    continue;
                }

                for (var j = 0; j < _AllFloatsFormats.Length; j++)
                {
                    var format = _AllFloatsFormats[j];
                    var asStr  = f.ToString(format);

                    yield return(new DeserializeDynamicTests._AllFloatsStruct {
                        AsString = asStr, Float = f, Format = format, I = (uint)i
                    });
                }
            }
        }