Versions in this module Expand all Collapse all v0 v0.1.0 May 31, 2019 Changes in this version + var ErrInvalidXOverNumPoints = errors.New("crossover points must be in the [0,MaxInt32] range") + var ErrInvalidXOverProb = errors.New("crossover probability must be in the [0,1] range") + type BitstringMater struct + func (BitstringMater) Mate(parent1, parent2 interface{}, nxpts int64, rng *rand.Rand) []interface{} + type ByteSliceMater struct + func (m ByteSliceMater) Mate(parent1, parent2 interface{}, nxpts int64, rng *rand.Rand) []interface{} + type Crossover struct + func New(mater Mater) *Crossover + func (op *Crossover) Apply(sel []interface{}, rng *rand.Rand) []interface{} + func (op *Crossover) SetPoints(npts int) error + func (op *Crossover) SetPointsRange(min, max int) error + func (op *Crossover) SetProb(prob float64) error + func (op *Crossover) SetProbRange(min, max float64) error + type IntSliceMater struct + func (m IntSliceMater) Mate(parent1, parent2 interface{}, npts int64, rng *rand.Rand) []interface{} + type Mater interface + Mate func(parent1, parent2 interface{}, numberOfCrossoverPoints int64, rng *rand.Rand) []interface{} + type StringMater struct + func (m StringMater) Mate(parent1, parent2 interface{}, nxpts int64, rng *rand.Rand) []interface{}