private TunedParameter <TimeSpan>[] ApplyTimeSpanOffset(
            TimeSpan value,
            TimeSpan offset,
            string name,
            string baseId,
            TuningStrength strength)
        {
            var positiveOffset = new TunedParameter <TimeSpan>(
                value,
                value + offset,
                name,
                baseId,
                string.Empty,
                TuningDirection.Positive,
                strength);

            if (value < offset)
            {
                return new[] { positiveOffset }
            }
            ;

            var negativeOffset = new TunedParameter <TimeSpan>(
                value,
                value - offset,
                name,
                baseId,
                string.Empty,
                TuningDirection.Negative,
                strength);

            return(new[] { positiveOffset, negativeOffset });
        }
        private TunedParameter <decimal>[] ApplyDecimalOffset(
            decimal value,
            decimal offset,
            string name,
            string baseId,
            TuningStrength strength)
        {
            var positiveOffset = new TunedParameter <decimal>(
                value,
                Math.Min(value + offset, 1),
                name,
                baseId,
                string.Empty,
                TuningDirection.Positive,
                strength);

            var negativeOffset = new TunedParameter <decimal>(
                value,
                Math.Max(value - offset, 0),
                name,
                baseId,
                string.Empty,
                TuningDirection.Negative,
                strength);

            return(new[] { positiveOffset, negativeOffset });
        }
        private TunedParameter <int>[] ApplyIntegerOffset(
            int value,
            int offset,
            string name,
            string baseId,
            int?min,
            TuningStrength strength)
        {
            var positiveOffset = new TunedParameter <int>(
                value,
                value + offset,
                name,
                baseId,
                string.Empty,
                TuningDirection.Positive,
                strength);

            var negativeOffset = new TunedParameter <int>(
                value,
                Math.Max(value - offset, min.GetValueOrDefault(0)),
                name,
                baseId,
                string.Empty,
                TuningDirection.Negative,
                strength);

            return(new[] { positiveOffset, negativeOffset });
        }
Ejemplo n.º 4
0
 public TunedParameter(
     T baseValue,
     T tunedValue,
     string parameterName,
     string baseId,
     string tuningParameterId,
     TuningDirection direction,
     TuningStrength strength)
 {
     this.BaseValue         = baseValue;
     this.TunedValue        = tunedValue;
     this.ParameterName     = parameterName;
     this.BaseId            = baseId ?? string.Empty;
     this.TuningParameterId = tuningParameterId ?? string.Empty;
     this.TuningDirection   = direction;
     this.TuningStrength    = strength;
 }