Files
PrimAITE/src/primaite/simulator/network/utils.py

30 lines
849 B
Python

from typing import Union
def convert_bytes_to_megabits(B: Union[int, float]) -> float: # noqa - Keep it as B as this is how Bytes are expressed
"""
Convert Bytes (file size) to Megabits (data transfer).
Technically Mebibits - but for simplicity sake, we'll call it megabit
:param B: The file size in Bytes.
:return: File bits to transfer in Megabits.
"""
if isinstance(B, int):
B = float(B)
bits = B * 8.0
return bits / 1024.0**2.0
def convert_megabits_to_bytes(Mbits: Union[int, float]) -> float: # noqa - The same for Mbits
"""
Convert Megabits (data transfer) to Bytes (file size).
:param Mbits bits to transfer in Megabits.
:return: The file size in Bytes.
"""
if isinstance(Mbits, int):
Mbits = float(Mbits)
bits = Mbits * 1024.0**2.0
return bits / 8