Example #1
0
        public static ICPolynomial Multiply(this ICPolynomial cp1, ICPolynomial cp2)
        {
            var result = new Dictionary <int, Complex2D>();

            foreach (var(exp1, coef1) in cp1)
            {
                foreach (var(exp2, coef2) in cp2)
                {
                    var exp = exp1 + exp2;
                    result[exp] = (result.ContainsKey(exp) ? result[exp] : 0) + coef1 * coef2;
                }
            }
            return(new CPolynomial(result));
        }
Example #2
0
        public static ICPolynomial Add(this ICPolynomial cp1, ICPolynomial cp2)
        {
            var result = new Dictionary <int, Complex2D>();

            foreach (var(exp, coef) in cp1)
            {
                result[exp] = coef;
            }
            foreach (var(exp, coef) in cp2)
            {
                result[exp] = (result.ContainsKey(exp) ? result[exp] : 0) + coef;
            }
            return(new CPolynomial(result));
        }