Crates.io | moore-hodgson |
lib.rs | moore-hodgson |
version | 0.1.0 |
source | src |
created_at | 2022-04-30 12:50:33.704138 |
updated_at | 2022-04-30 12:50:33.704138 |
description | An implementation of the Moore Hodgson's Scheduling Algorithm in Rust |
homepage | |
repository | https://github.com/coastalwhite/moore-hodgson-rs |
max_upload_size | |
id | 578122 |
size | 10,002 |
An implementation of the Moore-Hudgson algorithm within no_std
rust.
The Moore-Hudgson algorithm is a scheduling algorithm that minimizes the amount of late jobs.
It provides a single function moore_hodgson
, that performs the algorithm.
use moore_hodgson::moore_hodgson;
let mut jobs = [
("ApplyForJob", 6, 5), // Due after 6 time units, takes 5 time units
("FileTaxes", 7, 1), // Due after 7 time units, takes 1 time unit
("BuyPresentForMom", 4, 1), // Due after 4 time units, takes 1 time unit
("SolveUrgentProblem", 6, 4), // Due after 6 time units, takes 4 time units
("ApplyForLoan", 8, 3), // Due after 8 time units, takes 3 time units
];
let nr_of_on_time_jobs = moore_hodgson(&mut jobs);
assert_eq!(nr_of_on_time_jobs, 3);
// jobs = [
// (BuyPresentForMom, 4, 1),
// (ApplyForJob, 6, 5),
// (FileTaxes, 7, 1),
// (ApplyForLoan, 8, 3),
// (SolveUrgentProblem, 6, 4),
// ]
Licensed under a MIT license.