source: framspy/evolalg_steps/selection/identity.py @ 1185

Last change on this file since 1185 was 1185, checked in by Maciej Komosinski, 17 months ago

Renamed a module; new name is "evolalg_steps"

File size: 571 bytes
Line 
1import copy
2
3from evolalg_steps.base.step import Step
4from evolalg_steps.selection.selection import Selection
5
6
7class IdentitySelection(Selection):
8    def __init__(self, copy=False, *args, **kwargs):
9        super(IdentitySelection, self).__init__(copy, *args, **kwargs)
10
11    def call(self, population, selection_size=None):
12        super(IdentitySelection, self).call(population)
13        res = population
14        if selection_size is not None:
15            res = population[:selection_size]
16
17        if self.copy:
18            res = copy.deepcopy(res)
19        return res
Note: See TracBrowser for help on using the repository browser.