moore-hodgson

Crates.iomoore-hodgson
lib.rsmoore-hodgson
version0.1.0
sourcesrc
created_at2022-04-30 12:50:33.704138
updated_at2022-04-30 12:50:33.704138
descriptionAn implementation of the Moore Hodgson's Scheduling Algorithm in Rust
homepage
repositoryhttps://github.com/coastalwhite/moore-hodgson-rs
max_upload_size
id578122
size10,002
Gijs Burghoorn (coastalwhite)

documentation

README

Moore Hodgson in Rust

License: MIT moore-hodgson on crates.io Source Code Repository

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.

Examples

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),
// ]

License

Licensed under a MIT license.

Commit count: 2

cargo fmt