protected override double Apply(double[] args) { var sum = 0.0; for (var i = 0; i < Count; i++) { sum += Functors[i](args) * Weights[i]; } return(sum); }
protected override double Apply(double[] args) { var mul = 1.0; for (var i = 0; i < Count; i++) { mul *= Math.Pow(Functors[i](args), Weights[i]); } return(mul); }
protected override double Apply(double[] args) { var mul = 1.0; var sum = 0.0; for (var i = 0; i < Count; i++) { mul *= Math.Pow(Functors[i](args), Weights[i]); sum += Functors[i](args) * Weights[i]; } return(Betta * sum + (1.0 - Betta) * mul); }