Example #1
0
        /// <summary>
        /// Contains the bounds and transform type for an optimizer.
        /// </summary>
        /// <param name="min">minimum bound.</param>
        /// <param name="max">maximum bound.</param>
        /// <param name="transform">Selects between predefined transform types for controlling how to scale values sampled between min and max bounds.
        /// Default is Linear.</param>
        public ParameterBounds(double min, double max, Transform transform = Transform.Linear)
        {
            if (min >= max)
            {
                throw new ArgumentException($"min: {min} is larger than or equal to max: {max}");
            }

            Min         = min;
            Max         = max;
            m_transform = TransformFactory.Create(transform);
        }
        public void TransformFactory_Create()
        {
            var linear = TransformFactory.Create(Transform.Linear);

            Assert.AreEqual(typeof(LinearTransform), linear.GetType());
            var logarithmic = TransformFactory.Create(Transform.Linear);

            Assert.AreEqual(typeof(LinearTransform), logarithmic.GetType());
            var exponentialAverage = TransformFactory.Create(Transform.ExponentialAverage);

            Assert.AreEqual(typeof(ExponentialAverageTransform), exponentialAverage.GetType());
        }
Example #3
0
        protected override IEnumerator Spawn()
        {
            while (true)
            {
                var spawnerTransform = transform;
                var enemyToSpawn     = RandomObject();

                _transformFactory.Create(enemyToSpawn, spawnerTransform.position,
                                         enemyToSpawn.transform.rotation, spawnerTransform);
                yield return(new WaitForSeconds(timeBetweenSpawn));
            }
        }
        /// <summary>
        /// MinMaxParameterSpec, used for sampling values in the range [min;max].
        /// </summary>
        /// <param name="min">minimum bound.</param>
        /// <param name="max">maximum bound.</param>
        /// <param name="transform">Selects between predefined transform types for controlling how to scale values sampled between min and max bounds.
        /// Default is Linear.</param>
        /// <param name="parameterType">Selects the type of parameter. Should the parameter be sampled as discrete values, or as continuous values.
        /// Default is Continuous.</param>
        public MinMaxParameterSpec(double min, double max,
                                   Transform transform = Transform.Linear, ParameterType parameterType = ParameterType.Continuous)
        {
            if (min >= max)
            {
                throw new ArgumentException($"min: {min} is larger than or equal to max: {max}");
            }

            Min             = min;
            Max             = max;
            m_transform     = TransformFactory.Create(transform);
            m_parameterType = parameterType;
        }
 public void TransformFactory_Create_Throws_On_Invalid_Transform()
 {
     TransformFactory.Create((Transform)3);
 }