|
|
@ -226,7 +226,7 @@ postgres=> select '10(+-)1'::seg as seg; |
|
|
|
I decided to stick to is as a range operator. This, and |
|
|
|
I decided to stick to is as a range operator. This, and |
|
|
|
also the fact that the white space around the range operator |
|
|
|
also the fact that the white space around the range operator |
|
|
|
is ignored, creates a parsing conflict with numeric constants |
|
|
|
is ignored, creates a parsing conflict with numeric constants |
|
|
|
starting with a decimal point. |
|
|
|
starting with a decimal point. |
|
|
|
</entry> |
|
|
|
</entry> |
|
|
|
</row> |
|
|
|
</row> |
|
|
|
</tbody> |
|
|
|
</tbody> |
|
|
@ -305,7 +305,7 @@ postgres=> select '10(+-)1'::seg as seg; |
|
|
|
<itemizedlist> |
|
|
|
<itemizedlist> |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<programlisting> |
|
|
|
<programlisting> |
|
|
|
[a, b] << [c, d] Is left of |
|
|
|
[a, b] << [c, d] Is left of |
|
|
|
</programlisting> |
|
|
|
</programlisting> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
The left operand, [a, b], occurs entirely to the left of the |
|
|
|
The left operand, [a, b], occurs entirely to the left of the |
|
|
@ -315,64 +315,64 @@ postgres=> select '10(+-)1'::seg as seg; |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<programlisting> |
|
|
|
<programlisting> |
|
|
|
[a, b] >> [c, d] Is right of |
|
|
|
[a, b] >> [c, d] Is right of |
|
|
|
</programlisting> |
|
|
|
</programlisting> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
[a, b] is occurs entirely to the right of [c, d]. |
|
|
|
[a, b] is occurs entirely to the right of [c, d]. |
|
|
|
[a, b] >> [c, d] is true if a > d and false otherwise |
|
|
|
[a, b] >> [c, d] is true if a > d and false otherwise |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<programlisting> |
|
|
|
<programlisting> |
|
|
|
[a, b] &< [c, d] Overlaps or is left of |
|
|
|
[a, b] &< [c, d] Overlaps or is left of |
|
|
|
</programlisting> |
|
|
|
</programlisting> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This might be better read as "does not extend to right of". |
|
|
|
This might be better read as "does not extend to right of". |
|
|
|
It is true when b <= d. |
|
|
|
It is true when b <= d. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<programlisting> |
|
|
|
<programlisting> |
|
|
|
[a, b] &> [c, d] Overlaps or is right of |
|
|
|
[a, b] &> [c, d] Overlaps or is right of |
|
|
|
</programlisting> |
|
|
|
</programlisting> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This might be better read as "does not extend to left of". |
|
|
|
This might be better read as "does not extend to left of". |
|
|
|
It is true when a >= c. |
|
|
|
It is true when a >= c. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<programlisting> |
|
|
|
<programlisting> |
|
|
|
[a, b] = [c, d] Same as |
|
|
|
[a, b] = [c, d] Same as |
|
|
|
</programlisting> |
|
|
|
</programlisting> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
The segments [a, b] and [c, d] are identical, that is, a == b |
|
|
|
The segments [a, b] and [c, d] are identical, that is, a == b |
|
|
|
and c == d |
|
|
|
and c == d |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<programlisting> |
|
|
|
<programlisting> |
|
|
|
[a, b] && [c, d] Overlaps |
|
|
|
[a, b] && [c, d] Overlaps |
|
|
|
</programlisting> |
|
|
|
</programlisting> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
The segments [a, b] and [c, d] overlap. |
|
|
|
The segments [a, b] and [c, d] overlap. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<programlisting> |
|
|
|
<programlisting> |
|
|
|
[a, b] @> [c, d] Contains |
|
|
|
[a, b] @> [c, d] Contains |
|
|
|
</programlisting> |
|
|
|
</programlisting> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
The segment [a, b] contains the segment [c, d], that is, |
|
|
|
The segment [a, b] contains the segment [c, d], that is, |
|
|
|
a <= c and b >= d |
|
|
|
a <= c and b >= d |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<programlisting> |
|
|
|
<programlisting> |
|
|
|
[a, b] <@ [c, d] Contained in |
|
|
|
[a, b] <@ [c, d] Contained in |
|
|
|
</programlisting> |
|
|
|
</programlisting> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
The segment [a, b] is contained in [c, d], that is, |
|
|
|
The segment [a, b] is contained in [c, d], that is, |
|
|
|
a >= c and b <= d |
|
|
|
a >= c and b <= d |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
</itemizedlist> |
|
|
|
</itemizedlist> |
|
|
@ -393,8 +393,8 @@ postgres=> select '10(+-)1'::seg as seg; |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
<programlisting> |
|
|
|
[a, b] < [c, d] Less than |
|
|
|
[a, b] < [c, d] Less than |
|
|
|
[a, b] > [c, d] Greater than |
|
|
|
[a, b] > [c, d] Greater than |
|
|
|
</programlisting> |
|
|
|
</programlisting> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
These operators do not make a lot of sense for any practical |
|
|
|
These operators do not make a lot of sense for any practical |
|
|
|