/// <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()); }
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); }