public static DateGenerator Hour(this DateGenerator date, Action <TrendBuilder> trend)
        {
            //ValidateDateGeneratorRange(date);

            var builder = new TrendBuilder(
                min: 0,
                max: 24,
                cyclic: true);

            trend(builder);

            date.HourGenerator = builder.Build();
            return(date);
        }
        public static DateGenerator Year(this DateGenerator date,
                                         Action <TrendBuilder> trend)
        {
            ValidateDateGeneratorRange(date);

            var builder = new TrendBuilder(
                min: DateGenerator.DateToYearFraction(date.Start.Value),
                max: DateGenerator.DateToYearFraction(date.End.Value));

            trend(builder);

            date.YearGenerator = builder.Build();
            return(date);
        }
        public static DateGenerator Month(this DateGenerator date, Action <TrendBuilder> trend, double weight = 0.5)
        {
            ValidateDateGeneratorRange(date);

            var builder = new TrendBuilder(
                min: 1,
                max: 13,
                cyclic: true);

            trend(builder);

            date.YearWeight     = 1 - weight;
            date.MonthGenerator = builder.Build();
            return(date);
        }
Example #4
0
 public Trend(TrendBuilder owner, Func <double> generator)
 {
     _owner     = owner;
     _generator = generator;
 }