6 duplicated lines in: - flsim/channels/half_precision_channel.py (46:52, 16%) - flsim/utils/timing/training_duration_distribution.py (84:90, 3%) 6 duplicated lines in: - flsim/channels/half_precision_channel.py (46:52, 16%) - flsim/utils/timing/training_duration_distribution.py (65:71, 3%) 6 duplicated lines in: - flsim/channels/half_precision_channel.py (46:52, 16%) - flsim/utils/async_trainer/training_event_generator.py (96:103, 3%) 6 duplicated lines in: - flsim/channels/half_precision_channel.py (46:52, 16%) - flsim/utils/async_trainer/async_staleness_weights.py (68:74, 7%) 6 duplicated lines in: - flsim/channels/half_precision_channel.py (46:52, 16%) - flsim/utils/async_trainer/async_staleness_weights.py (50:56, 7%) 6 duplicated lines in: - flsim/channels/half_precision_channel.py (46:52, 16%) - flsim/utils/async_trainer/async_example_weights.py (93:100, 6%) 6 duplicated lines in: - flsim/channels/half_precision_channel.py (46:52, 16%) - flsim/utils/async_trainer/async_example_weights.py (112:119, 6%) 6 duplicated lines in: - flsim/channels/half_precision_channel.py (46:52, 16%) - flsim/utils/async_trainer/async_example_weights.py (74:81, 6%) 6 duplicated lines in: - flsim/channels/half_precision_channel.py (46:52, 16%) - flsim/utils/async_trainer/async_example_weights.py (55:62, 6%) 6 duplicated lines in: - flsim/channels/half_precision_channel.py (46:52, 16%) - flsim/utils/async_trainer/training_event_generator.py (70:77, 3%)