// Copyright Andy Singleton, 1993,1994 // This code is released for non-commercial use only // For questions or upgrades contact: // Andy Singleton, Creation Mechanics Inc. // PO Box 248, Peterborough, NH 03458 // Internet: p00396@psilink.com // Compuserve 73313,757 // Phone: (603) 563-7757 // Generic SELECTOR object for GA use #include "pch.h" #pragma hdrstop #include "selector.h" // *********************** CSelector Object methods ********************** CSelector::CSelector(int m,int s) { method = m; maxratio=100; size=s; pop= new FitPair[s]; scalescore= new float[s]; reset(); }; void CSelector::add(float score,FHANDLE h) { // add an individual pop[icount].rawscore=score; pop[icount].handle=h; rawsum+=score; if (icount!=0) { pmin = (pop[pmin].rawscore < score? pmin : icount); pmax = (pop[pmax].rawscore > score? pmax : icount); } icount++; } void CSelector::sort() // sort in score order, ascending { int i,j,mn; float tempscore; FHANDLE temph; for (i=0;i0? slot:.01; } break; } scalesum=0; for (i=0;i=wedge && i pop[winner].rawscore) winner=omin; } } return pop[winner].handle; }