Exemplo n.º 1
0
        public void TestUniformity_OnUnitSphere()
        {
            var rng = new StatelessRng(kSeed);

            Vector3[] vals = Gen(i => rng.OnUnitSphere(i)).ToArray();

            S.CheckUniformity(new[] { "theta", "z" }, vals.Select(ParametrizeSphereSurfaceThetaZ));
            // Try along another axis
            S.CheckUniformity(
                new[] { "theta", "y" },
                vals.Select(v => new Vector3(v.x, v.z, v.y))
                .Select(ParametrizeSphereSurfaceThetaZ));
        }
Exemplo n.º 2
0
        public void TestForSaltReuse()
        {
            var seen = new HashSet <int>();
            var rng  = new StatelessRng(kSeed);

            StatelessRng.SaltUsed = (salt) => {
                Assert.IsTrue(seen.Add(salt), "Salt {0} is unused", salt);
            };
            try {
                rng.OnUnitCircle(0); seen.Clear();
                rng.InUnitCircle(0); seen.Clear();
                rng.OnUnitSphere(0); seen.Clear();
                rng.InUnitSphere(0); seen.Clear();
                rng.Rotation(0); seen.Clear();
            } finally {
                StatelessRng.SaltUsed = null;
            }
        }