Skip to content
Snippets Groups Projects

Juno build system, labels, and skeleton scheduler

Merged Aaron Councilman requested to merge juno_scheduler into main
All threads resolved!
Files
45
@@ -2,6 +2,7 @@ extern crate serde;
extern crate hercules_ir;
use std::collections::BTreeSet;
use std::iter::once;
use self::serde::Deserialize;
@@ -113,6 +114,24 @@ impl Manifest {
SType::Product(partition.returns.iter().map(|(ty, _)| ty.clone()).collect())
}))
}
pub fn transitive_closure_type_set(type_set: BTreeSet<SType>) -> BTreeSet<SType> {
let mut closure = BTreeSet::new();
let mut workset: BTreeSet<&SType> = type_set.iter().collect();
while let Some(ty) = workset.pop_last() {
match ty {
SType::Product(fields) => workset.extend(fields),
SType::ArrayRef(elem) => {
workset.insert(elem);
}
_ => {}
}
closure.insert(ty.clone());
}
closure
}
}
impl PartitionManifest {
Loading