             dispersion(v: "x")
     }
     
-    /// The Pearson's correlation coefficient
-    /// Rxy = b * (√Dx / √Dy)
+    /**
+     The Pearson's correlation coefficient
+     Rxy = b * (√Dx / √Dy)
+     */
     private func corCoefficient(b: Double) -> Double {
         return b * (sqrt(dispersion(v: "x")) / sqrt(dispersion(v: "y")))
     }
     
-    /// Creats a linear model that fits the data.
-    /// The resulting equation has the form: h(x) = a + bx
+    /**
+     Creats a linear model that fits the data.
+     The resulting equation has the form: h(x) = a + bx
+     */
     private func createModel(a: Double, b: Double) -> (_ x: Double)->Double {
         return { (x: Double)->Double in
             return a + b*x

            square(v: sum[v]!() / Double(count))
    }
    
    /// The intercept
    /// a = (ΣY - b(ΣX)) / N
    private func aIntercept(b: Double) -> Double {
        return (sum(vector: yVector) / Double(count)) -
            (b * (sum(vector: xVector) / Double(count)))
    }
    
    /// The slope, or the regression coefficient
    /// b = ((ΣXY / N) - (ΣX / N)(ΣY / N)) / (Σv² / N) - (Σv / N)²
    private func bSlope() -> Double {
        return ((sumXY(data: data) / Double(count)) -
            ((sum(vector: xVector) / Double(count)) *

        return v * v
    }
    
    /**
     Sum of the vector values
     */
    private func sum(vector: [Double]) -> Double {
        return vector
            .reduce(0, +)
    }
    
    /**
     Sum of the vector squared values
     */
    private func sumSquared(vector: [Double]) -> Double {
        return vector
            .map({
