public PolyFunc <TC, TP> Multiply(TP t2) { Vector <TC> ans = new Vector <TC>(coeffs.Dimension); for (int i = 0; i < coeffs.Dimension; i++) { ans[i] = VectorScalar <TC, TP> .ScalarRight(coeffs[i], t2); } return(new PolyFunc <TC, TP>(ans)); }
public TC Evaluate(TP t) { TC sum = default(TC); if (coeffs.Dimension == 0) { return(sum); } for (int i = coeffs.Dimension - 1; i > 0; i--) { #if (USING_EXPRESSIONS) sum = VectorScalar <TC, TP> .ScalarRight(Operations <TC> .Add(sum, coeffs[i]), t); #else sum = (dynamic)t * ((dynamic)sum + coeffs[i]); #endif } #if (USING_EXPRESSIONS) sum = Operations <TC> .Add(sum, coeffs[0]); #else sum += (dynamic)coeffs[0]; #endif return(sum); }