(&mut self)
| 39 | } |
| 40 | |
| 41 | pub fn select_seed_from_queue(&mut self) -> &Program { |
| 42 | assert!(!self.seed_queue.is_empty()); |
| 43 | let qualities: Vec<f32> = self |
| 44 | .seed_queue |
| 45 | .iter() |
| 46 | .map(|seed| seed.get_weight()) |
| 47 | .collect(); |
| 48 | let choose = crate::program::rand::weighted_choose(qualities); |
| 49 | self.seed_queue[choose].increase_visited(); |
| 50 | let program = &self.seed_queue[choose]; |
| 51 | self.save_program(program).unwrap(); |
| 52 | program |
| 53 | } |
| 54 | |
| 55 | pub fn select_seed_exclude<'a>(&'a mut self, seed: &Program) -> &'a Program { |
| 56 | if self.seed_queue.len() == 1 { |
no test coverage detected