     }
     
     /// Trains the network by comparing its most recent output to the given 'answers', adjusting the network's weights as needed.
-    /// - parameter answer: The 'correct' desired output for the most recent update to the network, as an array of `Float`s.
-    /// - returns: The total calculated error from the most recent update.
+    /// - Parameter answer: The 'correct' desired output for the most recent update to the network, as an array of `Float`s.
+    /// - Returns: The total calculated error from the most recent update.
     public func backpropagate(answer answer: [Float]) throws -> Float {
         // Verify valid answer
         guard answer.count == self.numOutputs else {

        let randomFloat = Float(arc4random_uniform(rangeInt)) - Float(rangeInt / 2)
        return randomFloat / 1_000_000
    }
}
    /// The input indices corresponding to each hidden weight.
    private var inputIndices = [Int]()
    
    
    /// Initialization with an optional array of weights.
    public init(inputs: Int, hidden: Int, outputs: Int, learningRate: Float, momentum: Float, weights: [Float]?, activationFunction : ActivationFunction) {
