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 });
        }
Example #4
0
            public TuningDto(TunedParameter <string> tunedParam, string ruleRunJson)
            {
                if (tunedParam == null)
                {
                    return;
                }

                this.BaseRunId         = tunedParam.BaseId;
                this.ParameterTuningId = tunedParam.TuningParameterId;

                this.BaseValue     = tunedParam.BaseValue;
                this.TunedValue    = tunedParam.TunedValue;
                this.ParameterName = tunedParam.ParameterName;

                this.TuningDirection = (int)tunedParam.TuningDirection;
                this.TuningStrength  = (int)tunedParam.TuningStrength;

                this.RuleRunJson = ruleRunJson;
            }
Example #5
0
 public TuningPair(TunedParameter <string> tunedParam, string tunedJson)
 {
     this.TunedParam = tunedParam;
     this.TunedJson  = tunedJson;
 }