![]() |
MobilityDB 1.3
|
Operators for span types. More...
#include <assert.h>
#include <float.h>
#include <math.h>
#include <postgres.h>
#include <utils/timestamp.h>
#include <meos.h>
#include <meos_internal.h>
#include "temporal/span.h"
#include "temporal/temporal.h"
#include "temporal/type_util.h"
Functions | |
bool | adjacent_span_span (const Span *s1, const Span *s2) |
Return true if two spans are adjacent. More... | |
bool | adjacent_span_value (const Span *s, Datum value) |
Return true if a span and a value are adjacent. More... | |
void | bbox_union_span_span (const Span *s1, const Span *s2, Span *result) |
Return in the last argument the bounding box union of two spans. More... | |
bool | contained_span_span (const Span *s1, const Span *s2) |
Return true if the first span is contained in the second one. More... | |
bool | contained_value_span (Datum value, const Span *s) |
Return true if a value is contained in a span. More... | |
bool | contains_span_span (const Span *s1, const Span *s2) |
Return true if the first span contains the second one. More... | |
bool | contains_span_timestamptz (const Span *s, TimestampTz t) |
Return true if a span contains a timestamptz. More... | |
bool | contains_span_value (const Span *s, Datum value) |
Return true if a span contains a value. More... | |
double | dist_double_value_value (Datum l, Datum r, meosType type) |
Return the distance between two values as a double for the indexes. More... | |
Datum | distance_span_span (const Span *s1, const Span *s2) |
Return the distance between two spans as a double. More... | |
Datum | distance_span_value (const Span *s, Datum value) |
Return the distance between a span and a value as a double. More... | |
Datum | distance_value_value (Datum l, Datum r, meosType type) |
Return the distance between two values. More... | |
bool | inter_span_span (const Span *s1, const Span *s2, Span *result) |
Return in the last argument the intersection of two spans. More... | |
Span * | intersection_span_span (const Span *s1, const Span *s2) |
Return the intersection of two spans. More... | |
Span * | intersection_span_value (const Span *s, Datum value) |
Return the intersection of a span and a value. More... | |
Span * | intersection_value_span (Datum value, const Span *s) |
Return the union of a value and a span. More... | |
bool | left_span_span (const Span *s1, const Span *s2) |
Return true if the first span is to the left of the second one. More... | |
bool | left_span_value (const Span *s, Datum value) |
Return true if a span is to the left of a value. More... | |
bool | left_value_span (Datum value, const Span *s) |
Return true if a value is to the left of a span. More... | |
bool | lfnadj_span_span (const Span *s1, const Span *s2) |
Return true if the first span is to the left and not adjacent to the second one. More... | |
int | mi_span_span (const Span *s1, const Span *s2, Span *result) |
Return in the last argument the difference of two spans. More... | |
int | mi_span_value (const Span *s, Datum value, Span *result) |
Return in the last argument the difference of a span and a value. More... | |
SpanSet * | minus_span_span (const Span *s1, const Span *s2) |
Return the difference of two spans. More... | |
SpanSet * | minus_span_value (const Span *s, Datum value) |
Return the difference of a span and a value. More... | |
SpanSet * | minus_value_span (Datum value, const Span *s) |
Return the difference of a value and a span. More... | |
bool | ovadj_span_span (const Span *s1, const Span *s2) |
Return true if two spans overlap or are adjacent. More... | |
bool | overlaps_span_span (const Span *s1, const Span *s2) |
Return true if two spans overlap. More... | |
bool | overleft_span_span (const Span *s1, const Span *s2) |
Return true if the first span does not extend to the right of the second one. More... | |
bool | overleft_span_value (const Span *s, Datum value) |
Return true if a span does not extend to the right of a value. More... | |
bool | overleft_value_span (Datum value, const Span *s) |
Return true if a value does not extend to the right of a span. More... | |
bool | overright_span_span (const Span *s1, const Span *s2) |
Return true if the first span does not extend to the left of the second one. More... | |
bool | overright_span_value (const Span *s, Datum value) |
Return true if a span does not extend to the left of a value. More... | |
bool | overright_value_span (Datum value, const Span *s) |
Return true if a value does not extend to the left of a span. More... | |
bool | right_span_span (const Span *s1, const Span *s2) |
Return true if the first span is to right the of the second one. More... | |
bool | right_span_value (const Span *s, Datum value) |
Return true if a span is to the right of a value. More... | |
bool | right_value_span (Datum value, const Span *s) |
Return true if a value is to the right of a span. More... | |
Datum | span_max_value (Datum l, Datum r, meosType type) |
Return the maximum value of two span base values. More... | |
Datum | span_min_value (Datum l, Datum r, meosType type) |
Return the minimum value of two span base values. More... | |
Span * | super_union_span_span (const Span *s1, const Span *s2) |
Return the bounding union of two spans. More... | |
SpanSet * | union_span_span (const Span *s1, const Span *s2) |
Return the union of two spans. More... | |
SpanSet * | union_span_value (const Span *s, Datum value) |
Return the union of a span and a value. More... | |
SpanSet * | union_value_span (Datum value, const Span *s) |
Return the union of a value and a span. More... | |
Operators for span types.