public override void Generate(Value Start, Value[] Buffer)
{
this.Source.Generate(Start, Buffer);
for (int t = 0; t < Buffer.Length; t++)
{
double input = ((Buffer[t] / this.Period) % 1.0 + 1.0) % 1.0;
double output = input < 0.5 ? input * 4.0 - 1.0 : input * -4.0 + 3.0;
Buffer[t] = (Value)(output * Scale);
}
}