public MultipoleCoefficients(Point center, MultipoleCoefficients m1, MultipoleCoefficients m2) { ValidateArg.IsNotNull(m1, "m1"); ValidateArg.IsNotNull(m2, "m2"); Debug.Assert(m1.p == m2.p); this.p = m1.p; z0 = new Complex(center.X, center.Y); Complex[] m1a = m1.shift(z0), m2a = m2.shift(z0); a = new Complex[p]; for (int i = 0; i < p; ++i) { a[i] = m1a[i] + m2a[i]; } }