[mypy] Add/fix type annotations for scheduling algorithms (#4074)

* Fix mypy errors for scheduling/first_come_first_served
* Fix mypy errors for scheduling/round_robin.py
* Fix mypy errors for scheduling/shortest_job_first.py
* Fix isort errors
This commit is contained in:
shan7030 2020-12-28 09:34:40 +05:30 committed by GitHub
parent 64d8504170
commit 00e279ea44
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 19 deletions

View File

@ -2,10 +2,10 @@
# In this Algorithm we just care about the order that the processes arrived
# without carring about their duration time
# https://en.wikipedia.org/wiki/Scheduling_(computing)#First_come,_first_served
from __future__ import annotations
from typing import List
def calculate_waiting_times(duration_times: list[int]) -> list[int]:
def calculate_waiting_times(duration_times: List[int]) -> List[int]:
"""
This function calculates the waiting time of some processes that have a
specified duration time.
@ -24,8 +24,8 @@ def calculate_waiting_times(duration_times: list[int]) -> list[int]:
def calculate_turnaround_times(
duration_times: list[int], waiting_times: list[int]
) -> list[int]:
duration_times: List[int], waiting_times: List[int]
) -> List[int]:
"""
This function calculates the turnaround time of some processes.
Return: The time difference between the completion time and the
@ -44,7 +44,7 @@ def calculate_turnaround_times(
]
def calculate_average_turnaround_time(turnaround_times: list[int]) -> float:
def calculate_average_turnaround_time(turnaround_times: List[int]) -> float:
"""
This function calculates the average of the turnaround times
Return: The average of the turnaround times.
@ -58,7 +58,7 @@ def calculate_average_turnaround_time(turnaround_times: list[int]) -> float:
return sum(turnaround_times) / len(turnaround_times)
def calculate_average_waiting_time(waiting_times: list[int]) -> float:
def calculate_average_waiting_time(waiting_times: List[int]) -> float:
"""
This function calculates the average of the waiting times
Return: The average of the waiting times.

View File

@ -3,12 +3,11 @@ Round Robin is a scheduling algorithm.
In Round Robin each process is assigned a fixed time slot in a cyclic way.
https://en.wikipedia.org/wiki/Round-robin_scheduling
"""
from __future__ import annotations
from statistics import mean
from typing import List
def calculate_waiting_times(burst_times: list[int]) -> list[int]:
def calculate_waiting_times(burst_times: List[int]) -> List[int]:
"""
Calculate the waiting times of a list of processes that have a specified duration.
@ -41,8 +40,8 @@ def calculate_waiting_times(burst_times: list[int]) -> list[int]:
def calculate_turn_around_times(
burst_times: list[int], waiting_times: list[int]
) -> list[int]:
burst_times: List[int], waiting_times: List[int]
) -> List[int]:
"""
>>> calculate_turn_around_times([1, 2, 3, 4], [0, 1, 3])
[1, 3, 6]

View File

@ -3,17 +3,17 @@ Shortest job remaining first
Please note arrival time and burst
Please use spaces to separate times entered.
"""
from __future__ import annotations
from typing import List
import pandas as pd
def calculate_waitingtime(
arrival_time: list[int], burst_time: list[int], no_of_processes: int
) -> list[int]:
arrival_time: List[int], burst_time: List[int], no_of_processes: int
) -> List[int]:
"""
Calculate the waiting time of each processes
Return: list of waiting times.
Return: List of waiting times.
>>> calculate_waitingtime([1,2,3,4],[3,3,5,1],4)
[0, 3, 5, 0]
>>> calculate_waitingtime([1,2,3],[2,5,1],3)
@ -72,8 +72,8 @@ def calculate_waitingtime(
def calculate_turnaroundtime(
burst_time: list[int], no_of_processes: int, waiting_time: list[int]
) -> list[int]:
burst_time: List[int], no_of_processes: int, waiting_time: List[int]
) -> List[int]:
"""
Calculate the turn around time of each Processes
Return: list of turn around times.
@ -91,8 +91,8 @@ def calculate_turnaroundtime(
def calculate_average_times(
waiting_time: list[int], turn_around_time: list[int], no_of_processes: int
):
waiting_time: List[int], turn_around_time: List[int], no_of_processes: int
) -> None:
"""
This function calculates the average of the waiting & turnaround times
Prints: Average Waiting time & Average Turn Around Time