Global Positioning System Reference
In-Depth Information
Algorithm 8 Part 1:
Compare_windowPair
()
Input:
k
2
1
, k
2
2
,W
1
,W
2
.
k
2
1
= (
part
1
,
win
1
,
prevPart
1
),
k
2
2
= (
part
2
,
win
2
,
prevPart
2
),
W
1
and
W
2
are the last two components of the job input
dir. name
job_inDir
Output:
0 (
k
2
1
and
k
2
2
belong to the same group),
−
1 (group number of
k
2
1
<
group number of
k
2
2
), or +1 (group number
k
2
1
>
group
number of
k
2
2
)
1
:
if
(
win
1
=
−
1)
∧
(
win
2
=
−
1)
then
// baseP-baseP
2
:
if
(
part
1
=
part
2
)
then
3
: return 0
4
:
else
5
: return (
part
1
< part
2
)?
−
1 : +1
6
:
end if
7
:
else if
(
win
1
=
−
1)
∧
(
win
2
≠−
1)
then
// baseP-winP
8
: return -1
9
:
else if
(
win
1
≠−
1)
∧
(
win
2
=
−
1)
then
// winP-baseP
10
: return + 1
11
:
else
// (
win
1
≠−
1)
∧
(
win
2
≠−
1), winP-winP
12
:
min
1
, max
1
← min
(
part
1
,win
1)
, max
(
part
1
,win
1
)
13
:
min
2
, max
2
← min
(
part
2
,win
2
)
, max
(
part
2
,win
2
)
14
:
if
¬
((
min
1
=
min
2
)
∧
(
max
1
=
max
2
))
then
15
:
if
min
1
=
min
2
then
16
: return (
max
1
< max
2
)?
−
1 : +1
17
:
else
18
: return (
min
1
< min
2
)?
−
1 : +1
19
:
end if
20
:
end if
21
:
if
(
part
1
=
part
2
)
∧
(
prevPart
1
=
prevPart
2
)
then
// = partitions, = old partitions
22
: return 0
23
:
end if
24
:
if
(
part
1
=
part
2
)
then
// = partitions,
≠
old partitions
25
:
if
part
1
< win
1
then
//
part
2
< win
2
26
:
if
(
prevPart
1
=
W
1
)
∧
(
prevPart
2
=
W
2
)
then
27
: return -1
28
:
else
// (
prevPart
1
=
W
2
)
∧
(
prevPart
2
=
W
1
)
29
: return +1
30
:
end if
31
:
else
//
part
1
> win
1
∧
part
2
> win
2
32
:
if
(
prevPart
1
=
W
1
)
∧
(
prevPart
2
=
W
2
)
then
33
: return +1
// = partitions, = old partitions
Search WWH ::
Custom Search