MCPcopy Create free account
hub / github.com/FuzzAnything/PromptFuzz / select_seed_exclude

Method select_seed_exclude

src/deopt.rs:55–74  ·  view source on GitHub ↗
(&'a mut self, seed: &Program)

Source from the content-addressed store, hash-verified

53 }
54
55 pub fn select_seed_exclude<'a>(&'a mut self, seed: &Program) -> &'a Program {
56 if self.seed_queue.len() == 1 {
57 self.seed_queue[0].increase_visited();
58 let program = &self.seed_queue[0];
59 self.save_program(program).unwrap();
60 return program;
61 }
62 let mut seed_queue: Vec<&mut Program> = self
63 .seed_queue
64 .iter_mut()
65 .filter(|x| x.id != seed.id)
66 .collect();
67 let qualities: Vec<f32> = seed_queue.iter().map(|seed| seed.get_weight()).collect();
68 let choose = crate::program::rand::weighted_choose(qualities);
69 seed_queue[choose].increase_visited();
70 let select = seed_queue[choose].id;
71 let program = self.get_seed_from_queue(select);
72 self.save_program(program).unwrap();
73 program
74 }
75
76 pub fn update_seed_queue(
77 &mut self,

Callers 1

mutate_promptFunction · 0.80

Calls 5

weighted_chooseFunction · 0.85
increase_visitedMethod · 0.80
save_programMethod · 0.80
get_weightMethod · 0.80
get_seed_from_queueMethod · 0.80

Tested by

no test coverage detected