public override void InitializeRegisters(LGPRegisterSet reg_set, LGPConstantSet constant_set, LGPFitnessCase fitness_case)
        {
            int iRegisterCount = reg_set.RegisterCount;
            int iInputCount    = fitness_case.GetInputCount();



            int iRegisterIndex = 0;

            for (int i = 0; i < mInputCopyCount; ++i)
            {
                for (int j = 0; j < iInputCount; ++j, ++iRegisterIndex)
                {
                    if (iRegisterIndex >= iRegisterCount)
                    {
                        break;
                    }

                    double value;
                    fitness_case.QueryInput(j, out value);
                    reg_set.FindRegisterByIndex(iRegisterIndex).Value = value;
                }

                if (iRegisterIndex >= iRegisterCount)
                {
                    break;
                }
            }

            while (iRegisterIndex < iRegisterCount)
            {
                reg_set.FindRegisterByIndex(iRegisterIndex).Value = mDefaultRegisterValue;
                iRegisterIndex++;
            }
        }
Ejemplo n.º 2
0
 public virtual void InitializeRegisters(LGPRegisterSet reg_set, LGPConstantSet constant_set, LGPFitnessCase fitness_case)
 {
     if (mCurrentInstruction != null)
     {
         mCurrentInstruction.InitializeRegisters(reg_set, constant_set, fitness_case);
     }
     else
     {
         throw new ArgumentNullException();
     }
 }
 public abstract void InitializeRegisters(LGPRegisterSet reg_set, LGPConstantSet constant_set, LGPFitnessCase fitness_case);