Skip to content

Commit 180052d

Browse files
committed
Rename universe_size as domain_size.
Because `domain` is a more obvious term than `universe` for this concept.
1 parent 63d6649 commit 180052d

File tree

1 file changed

+32
-36
lines changed

1 file changed

+32
-36
lines changed

src/librustc_data_structures/indexed_set.rs

+32-36
Original file line numberDiff line numberDiff line change
@@ -68,34 +68,34 @@ impl<T: Idx> fmt::Debug for IdxSet<T> {
6868
}
6969

7070
impl<T: Idx> IdxSet<T> {
71-
fn new(init: Word, universe_size: usize) -> Self {
72-
let num_words = (universe_size + (BITS_PER_WORD - 1)) / BITS_PER_WORD;
71+
fn new(init: Word, domain_size: usize) -> Self {
72+
let num_words = (domain_size + (BITS_PER_WORD - 1)) / BITS_PER_WORD;
7373
IdxSet {
7474
_pd: Default::default(),
7575
bits: vec![init; num_words],
7676
}
7777
}
7878

79-
/// Creates set holding every element whose index falls in range 0..universe_size.
80-
pub fn new_filled(universe_size: usize) -> Self {
81-
let mut result = Self::new(!0, universe_size);
82-
result.trim_to(universe_size);
79+
/// Creates set holding every element whose index falls in range 0..domain_size.
80+
pub fn new_filled(domain_size: usize) -> Self {
81+
let mut result = Self::new(!0, domain_size);
82+
result.trim_to(domain_size);
8383
result
8484
}
8585

8686
/// Creates set holding no elements.
87-
pub fn new_empty(universe_size: usize) -> Self {
88-
Self::new(0, universe_size)
87+
pub fn new_empty(domain_size: usize) -> Self {
88+
Self::new(0, domain_size)
8989
}
9090

9191
/// Duplicates as a hybrid set.
9292
pub fn to_hybrid(&self) -> HybridIdxSet<T> {
93-
// This universe_size may be slightly larger than the one specified
93+
// This domain_size may be slightly larger than the one specified
9494
// upon creation, due to rounding up to a whole word. That's ok.
95-
let universe_size = self.bits.len() * BITS_PER_WORD;
95+
let domain_size = self.bits.len() * BITS_PER_WORD;
9696

9797
// Note: we currently don't bother trying to make a Sparse set.
98-
HybridIdxSet::Dense(self.to_owned(), universe_size)
98+
HybridIdxSet::Dense(self.to_owned(), domain_size)
9999
}
100100

101101
/// Removes all elements
@@ -105,29 +105,29 @@ impl<T: Idx> IdxSet<T> {
105105
}
106106
}
107107

108-
/// Sets all elements up to `universe_size`
109-
pub fn set_up_to(&mut self, universe_size: usize) {
108+
/// Sets all elements up to `domain_size`
109+
pub fn set_up_to(&mut self, domain_size: usize) {
110110
for b in &mut self.bits {
111111
*b = !0;
112112
}
113-
self.trim_to(universe_size);
113+
self.trim_to(domain_size);
114114
}
115115

116-
/// Clear all elements above `universe_size`.
117-
fn trim_to(&mut self, universe_size: usize) {
116+
/// Clear all elements above `domain_size`.
117+
fn trim_to(&mut self, domain_size: usize) {
118118
// `trim_block` is the first block where some bits have
119119
// to be cleared.
120-
let trim_block = universe_size / BITS_PER_WORD;
120+
let trim_block = domain_size / BITS_PER_WORD;
121121

122122
// all the blocks above it have to be completely cleared.
123123
if trim_block < self.bits.len() {
124124
for b in &mut self.bits[trim_block+1..] {
125125
*b = 0;
126126
}
127127

128-
// at that block, the `universe_size % BITS_PER_WORD` lsbs
128+
// at that block, the `domain_size % BITS_PER_WORD` LSBs
129129
// should remain.
130-
let remaining_bits = universe_size % BITS_PER_WORD;
130+
let remaining_bits = domain_size % BITS_PER_WORD;
131131
let mask = (1<<remaining_bits)-1;
132132
self.bits[trim_block] &= mask;
133133
}
@@ -293,8 +293,8 @@ impl<T: Idx> SparseIdxSet<T> {
293293
}
294294
}
295295

296-
fn to_dense(&self, universe_size: usize) -> IdxSet<T> {
297-
let mut dense = IdxSet::new_empty(universe_size);
296+
fn to_dense(&self, domain_size: usize) -> IdxSet<T> {
297+
let mut dense = IdxSet::new_empty(domain_size);
298298
for elem in self.0.iter() {
299299
dense.add(elem);
300300
}
@@ -323,28 +323,24 @@ impl<'a, T: Idx> Iterator for SparseIter<'a, T> {
323323
/// Like IdxSet, but with a hybrid representation: sparse when there are few
324324
/// elements in the set, but dense when there are many. It's especially
325325
/// efficient for sets that typically have a small number of elements, but a
326-
/// large `universe_size`, and are cleared frequently.
326+
/// large `domain_size`, and are cleared frequently.
327327
#[derive(Clone, Debug)]
328328
pub enum HybridIdxSet<T: Idx> {
329329
Sparse(SparseIdxSet<T>, usize),
330330
Dense(IdxSet<T>, usize),
331331
}
332332

333333
impl<T: Idx> HybridIdxSet<T> {
334-
pub fn new_empty(universe_size: usize) -> Self {
335-
HybridIdxSet::Sparse(SparseIdxSet::new(), universe_size)
334+
pub fn new_empty(domain_size: usize) -> Self {
335+
HybridIdxSet::Sparse(SparseIdxSet::new(), domain_size)
336336
}
337337

338-
fn universe_size(&mut self) -> usize {
339-
match *self {
338+
pub fn clear(&mut self) {
339+
let domain_size = match *self {
340340
HybridIdxSet::Sparse(_, size) => size,
341341
HybridIdxSet::Dense(_, size) => size,
342-
}
343-
}
344-
345-
pub fn clear(&mut self) {
346-
let universe_size = self.universe_size();
347-
*self = HybridIdxSet::new_empty(universe_size);
342+
};
343+
*self = HybridIdxSet::new_empty(domain_size);
348344
}
349345

350346
/// Returns true iff set `self` contains `elem`.
@@ -374,11 +370,11 @@ impl<T: Idx> HybridIdxSet<T> {
374370
// appease the borrow checker.
375371
let dummy = HybridIdxSet::Sparse(SparseIdxSet::new(), 0);
376372
match mem::replace(self, dummy) {
377-
HybridIdxSet::Sparse(sparse, universe_size) => {
378-
let mut dense = sparse.to_dense(universe_size);
373+
HybridIdxSet::Sparse(sparse, domain_size) => {
374+
let mut dense = sparse.to_dense(domain_size);
379375
let changed = dense.add(elem);
380376
assert!(changed);
381-
mem::replace(self, HybridIdxSet::Dense(dense, universe_size));
377+
mem::replace(self, HybridIdxSet::Dense(dense, domain_size));
382378
changed
383379
}
384380
_ => panic!("impossible"),
@@ -401,7 +397,7 @@ impl<T: Idx> HybridIdxSet<T> {
401397
/// Converts to a dense set, consuming itself in the process.
402398
pub fn to_dense(self) -> IdxSet<T> {
403399
match self {
404-
HybridIdxSet::Sparse(sparse, universe_size) => sparse.to_dense(universe_size),
400+
HybridIdxSet::Sparse(sparse, domain_size) => sparse.to_dense(domain_size),
405401
HybridIdxSet::Dense(dense, _) => dense,
406402
}
407403
}

0 commit comments

Comments
 (0)