/// <summary> /// /// </summary> /// <param name="offset"></param> /// <param name="size"></param> /// <returns></returns> public override FWindowable <TPayload> Compile(long offset, long size) { Invariant.IsTrue(Input.Period % _period == 0, "Input period must be a multiple of chop period"); return(new ChopFWindow <TPayload>(Input.Compile(offset, size), _period)); }
/// <summary> /// /// </summary> /// <param name="input"></param> /// <param name="period"></param> public AlterPeriodFWindow(FWindowable <TPayload> input, long period) : base(input, input.Size, period, input.Offset, period) { Invariant.IsPositive(Input.Duration, "Input duration"); Invariant.IsTrue(period % Input.Period == 0, "Period must be a multiple of input period"); }