             self.mfLR = (1 - newMomentum) * self.learningRate
         }
     }
+    
+    /// The activation function to use during update cycles.
+    private var activationFunction : ActivationFunction = .Sigmoid
+    
     
     /**
      The following private properties are allocated once during initializtion, in order to prevent frequent

    
    /// Applies the activation function (sigmoid) to the input.
    private func activation(input: Float) -> Float {
        
        return ActivationFunctionEvaluator.evaluate(self.activationFunction, input: input)
    }
    

    /// 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) {
