[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 # In this Algorithm we just care about the order that the processes arrived
# without carring about their duration time # without carring about their duration time
# https://en.wikipedia.org/wiki/Scheduling_(computing)#First_come,_first_served # 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 This function calculates the waiting time of some processes that have a
specified duration time. specified duration time.
@ -24,8 +24,8 @@ def calculate_waiting_times(duration_times: list[int]) -> list[int]:
def calculate_turnaround_times( def calculate_turnaround_times(
duration_times: list[int], waiting_times: list[int] duration_times: List[int], waiting_times: List[int]
) -> list[int]: ) -> List[int]:
""" """
This function calculates the turnaround time of some processes. This function calculates the turnaround time of some processes.
Return: The time difference between the completion time and the 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 This function calculates the average of the turnaround times
Return: 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) 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 This function calculates the average of the waiting times
Return: 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. In Round Robin each process is assigned a fixed time slot in a cyclic way.
https://en.wikipedia.org/wiki/Round-robin_scheduling https://en.wikipedia.org/wiki/Round-robin_scheduling
""" """
from __future__ import annotations
from statistics import mean 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. 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( def calculate_turn_around_times(
burst_times: list[int], waiting_times: list[int] burst_times: List[int], waiting_times: List[int]
) -> list[int]: ) -> List[int]:
""" """
>>> calculate_turn_around_times([1, 2, 3, 4], [0, 1, 3]) >>> calculate_turn_around_times([1, 2, 3, 4], [0, 1, 3])
[1, 3, 6] [1, 3, 6]

View File

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