/// <summary> /// Constructor specifying the modulus and parameter and their complements. /// </summary> /// <param name="k2">the square of the modulus <i>k</i>^2. <i>k</i>^2 must lie in (-∞, 1].</param> /// <param name="alpha2">the parameter α^2. α^2 must lie in (-∞, 1].</param> /// <param name="kp2">the complementary modulus squared <i>k'</i>^2 = 1 - <i>k</i>^2. This must lie in [0, ∞).</param> /// <param name="alphap2">the complementary parameter α'^2 = 1 - α^2. This must lie in [0, ∞).</param> /// <remarks> /// The arguments must satisfy <paramref name="k2"/> + <paramref name="kp2"/> = 1 and <paramref name="alpha2"/> + <paramref name="alphap2"/> /// = 1. (No checking is done that these conditions are met.) This /// constructor is provided to enable accuracy to be maintained, e.g., when /// <i>k</i> is very close to unity. /// </remarks> public EllipticFunction(double k2, double alpha2, double kp2, double alphap2) => Reset(k2, alpha2, kp2, alphap2);
=> Normalize4D0(i1, j1, k1, l1, i2, j2, k2, l2);
/// <summary> /// Constructor specifying the modulus and parameter. /// </summary> /// <param name="k2">the square of the modulus <i>k</i>^2. <i>k</i>^2 must lie in (-∞, 1].</param> /// <param name="alpha2">the parameter α^2. α^2 must lie in (-∞, 1].</param> /// <remarks> /// If only elliptic integrals of the first and second kinds are needed, /// then set α^2 = 0 (the default value); in this case, we /// have Π(φ, 0, <i>k</i>) = <i>F</i>(φ, <i>k</i>), <i>G</i>(φ, 0, <i>k</i>) = <i>E</i>(φ, <i>k</i>), /// and <i>H</i>(φ, 0, <i>k</i>) = <i>F</i>(φ, <i>k</i>) - <i>D</i>(φ, <i>k</i>). /// </remarks> public EllipticFunction(double k2 = 0, double alpha2 = 0) => Reset(k2, alpha2);