aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code/range.c
diff options
context:
space:
mode:
authorGareth Rees2013-05-31 16:29:26 +0100
committerGareth Rees2013-05-31 16:29:26 +0100
commitdb9328da7a3c506983b8027f094dd5234062fea4 (patch)
tree0ff1a55e78e6e5dcac9fef16cbd84458a8f731b7 /mps/code/range.c
parent83aff660e27fe56ba6f5c4b898aa00da206c6c9e (diff)
downloademacs-db9328da7a3c506983b8027f094dd5234062fea4.tar.gz
emacs-db9328da7a3c506983b8027f094dd5234062fea4.zip
Use range objects in the cbs interface instead of base, limit pairs. the idea is that freelist and cbs should offer similar interfaces so that the testing code can be shared.
Copied from Perforce Change: 182364 ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code/range.c')
-rw-r--r--mps/code/range.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/mps/code/range.c b/mps/code/range.c
index 60a8b0da367..4cd61d7b04d 100644
--- a/mps/code/range.c
+++ b/mps/code/range.c
@@ -70,6 +70,22 @@ Bool RangesOverlap(Range range1, Range range2)
70 && RangeBase(range2) < RangeLimit(range1); 70 && RangeBase(range2) < RangeLimit(range1);
71} 71}
72 72
73Bool RangesNest(Range outer, Range inner)
74{
75 AVERT(Range, outer);
76 AVERT(Range, inner);
77 return RangeBase(outer) <= RangeBase(inner)
78 && RangeLimit(inner) <= RangeLimit(outer);
79}
80
81Bool RangesEqual(Range range1, Range range2)
82{
83 AVERT(Range, range1);
84 AVERT(Range, range2);
85 return RangeBase(range1) == RangeBase(range2)
86 && RangeLimit(range1) == RangeLimit(range2);
87}
88
73Bool RangeIsAligned(Range range, Align alignment) 89Bool RangeIsAligned(Range range, Align alignment)
74{ 90{
75 AVERT(Range, range); 91 AVERT(Range, range);