00001 using System; 00002 using System.Collections.Generic; 00003 using System.Linq; 00004 using System.Text; 00005 00006 namespace GEP.Core.Float.Functions 00007 { 00011 [Serializable] 00012 public class MultipleAddition : Symbol 00013 { 00017 protected static string NAME = "Multiple +"; 00018 00023 public MultipleAddition(int n_Parameters) 00024 : base(n_Parameters, NAME) { } 00025 00026 public override float Value(float[] parameters, int startIndex) 00027 { 00028 float result = 0; 00029 int loopBound = startIndex + _n_Parameters; 00030 for (; startIndex < loopBound; startIndex++) 00031 { 00032 result += parameters[startIndex]; 00033 } 00034 return result; 00035 } 00036 00041 public MultipleAddition(MultipleAddition symbol) 00042 :base(symbol) 00043 { 00044 00045 } 00046 00047 public override GEP.Core.Common.Symbol Clone() 00048 { 00049 return new MultipleAddition(this); 00050 } 00051 } 00052 }