/// <inheritdoc/>
        public override void Copy(IGenome source)
        {
            DoubleArrayGenome sourceDouble = (DoubleArrayGenome)source;

            EngineArray.ArrayCopy(sourceDouble.data, this.data);
            Score         = source.Score;
            AdjustedScore = source.AdjustedScore;
        }
 /// <summary>
 /// Construct a genome based on another genome.
 /// </summary>
 /// <param name="other">The other genome.</param>
 public DoubleArrayGenome(DoubleArrayGenome other)
 {
     this.data = (double[])other.Data.Clone();
 }
        /// <inheritdoc/>
        public void Copy(IArrayGenome source, int sourceIndex, int targetIndex)
        {
            DoubleArrayGenome sourceInt = (DoubleArrayGenome)source;

            this.data[targetIndex] = sourceInt.data[sourceIndex];
        }
 /// <summary>
 /// Construct a genome based on another genome.
 /// </summary>
 /// <param name="other">The other genome.</param>
 public DoubleArrayGenome(DoubleArrayGenome other)
 {
     this.data = (double[])other.Data.Clone();
 }