private static TimeSeries OpTimeSeriesAndValue(TimeSeries series, double value, string name, Func<double, double, double> op, bool valueAsSecond = true, bool checkZero = false)
{
var ts = new TimeSeries(name, "", -1);
for (int i = 0; i < series.Count; ++i)
{
var dt = series.GetDateTime(i);
var sv = series[i, 0];
if (valueAsSecond)
ts.Add(dt, op(sv, value));
else
{
if (!checkZero || sv != 0.0)
ts.Add(dt, op(value, sv));
}
}
return ts;
}