Accord.Math.Decompositions.JaggedEigenvalueDecomposition.cdiv C# (CSharp) Method

cdiv() private static method

private static cdiv ( Double xr, Double xi, Double yr, Double yi, Double &cdivr, Double &cdivi ) : void
xr Double
xi Double
yr Double
yi Double
cdivr Double
cdivi Double
return void
        private static void cdiv(Double xr, Double xi, Double yr, Double yi,
            out Double cdivr, out Double cdivi)
        {
            // Complex scalar division.
            Double r;
            Double d;
            if (System.Math.Abs(yr) > System.Math.Abs(yi))
            {
                r = yi / yr;
                d = yr + r * yi;
                cdivr = (xr + r * xi) / d;
                cdivi = (xi - r * xr) / d;
            }
            else
            {
                r = yr / yi;
                d = yi + r * yr;
                cdivr = (r * xr + xi) / d;
                cdivi = (r * xi - xr) / d;
            }
        }