MCPcopy Create free account
hub / github.com/5ocworkshop/bgraph / update_network

Method update_network

examples/demo/cls_simulation.rs:179–207  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

177 }
178
179 fn update_network(&mut self) {
180 // RX: faster oscillation with occasional spikes
181 let rx_wave = (self.tick as f32 * 0.12).sin() * 25.0;
182 let rx_spike = if self.tick % 60 == 0 {
183 random_range(25.0, 45.0)
184 } else {
185 0.0
186 };
187 let rx_jitter = random_range(-5.0, 5.0);
188 let rx_decay = (50.0 - self.rx_value) * 0.04;
189 self.rx_value =
190 (self.rx_value + rx_jitter + rx_decay + rx_spike + rx_wave * 0.15).clamp(8.0, 95.0);
191
192 // TX: slower oscillation with different phase
193 let tx_wave = (self.tick as f32 * 0.07 + 2.5).sin() * 20.0;
194 let tx_spike = if self.tick % 90 == 0 {
195 random_range(20.0, 40.0)
196 } else {
197 0.0
198 };
199 let tx_jitter = random_range(-4.0, 4.0);
200 let tx_decay = (45.0 - self.tx_value) * 0.035;
201 self.tx_value =
202 (self.tx_value + tx_jitter + tx_decay + tx_spike + tx_wave * 0.12).clamp(8.0, 92.0);
203
204 self.network.push(self.rx_value, self.tx_value);
205 self.rx_series.push(self.rx_value);
206 self.tx_series.push(self.tx_value);
207 }
208
209 fn update_memory(&mut self) {
210 let alloc = if self.tick % 300 == 0 {

Callers 1

updateMethod · 0.80

Calls 2

random_rangeFunction · 0.85
pushMethod · 0.45

Tested by

no test coverage detected