in opacus/accountants/rdp.py [0:0]
def step(self, *, noise_multiplier: float, sample_rate: float):
if len(self.steps) >= 1:
last_noise_multiplier, last_sample_rate, num_steps = self.steps.pop()
if (
last_noise_multiplier == noise_multiplier
and last_sample_rate == sample_rate
):
self.steps.append(
(last_noise_multiplier, last_sample_rate, num_steps + 1)
)
else:
self.steps.append((last_noise_multiplier, last_sample_rate, num_steps))
self.steps.append((noise_multiplier, sample_rate, 1))
else:
self.steps.append((noise_multiplier, sample_rate, 1))