public override RrFunction Mult(RrFunction other) { var cst = other as ConstantRrFunction; if (cst != null) { return(ProductRrFunctions.Mult(this, cst)); } return(Create(weights, functions.Map(f => f.Mult(other)))); }
public override RrFunction Mult(RrFunction other) { var cst = other as ConstantRrFunction; if (cst != null) { return(ProductRrFunctions.Mult(this, cst)); } var exp = other as ExpRrFunction; if (exp != null) { return(ProductRrFunctions.Mult(this, exp)); } return(base.Mult(other)); }
public override RrFunction Mult(RrFunction other) { var cst = other as ConstantRrFunction; if (cst != null) { return(ProductRrFunctions.Mult(this, cst)); } var exp = other as ExpRrFunction; if (exp != null) { return(ProductRrFunctions.Mult(exp, this)); } var step = other as StepFunction; if (step != null) { return(StepFunction.Mult(step, this)); } var spline = other as SplineInterpoler; if (spline != null) { return(SplineInterpoler.Mult(spline, this)); } var lc = other as LinearCombinationRrFunction; if (lc != null) { return(ProductRrFunctions.Mult(lc, this)); } return(base.Mult(other)); }